home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1997-04-16 | 18.0 KB | [TEXT/dosa] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Wed Apr 16 10:09:50 1997, modified Wed Apr 16 10:09:50 1997, creator Macintosh MS-DOS file system, type ASCII, 17769 bytes "ASSEMBLE.C" , at 0x45e9 410 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [dosa] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 41 53 53 45 4d 42 | 4c 45 2e 43 00 00 00 00 |..ASSEMB|LE.C....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 64 6f 73 | 61 01 00 00 00 00 00 00 |.TEXTdos|a.......|
|00000050| 00 00 00 00 00 45 69 00 | 00 01 9a af 7a 8e 2e af |.....Ei.|....z...|
|00000060| 7a 8e 2e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |z.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 9a 53 00 00 |........|.....S..|
|00000080| 2f 2f 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |//======|========|
|00000090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000000c0| 3d 3d 3d 3d 3d 3d 3d 0d | 0a 2f 2f 20 41 53 53 45 |=======.|.// ASSE|
|000000d0| 4d 42 4c 45 52 20 72 6f | 75 74 69 6e 65 73 20 66 |MBLER ro|utines f|
|000000e0| 6f 72 20 44 41 53 4d 0d | 0a 2f 2f 0d 0a 2f 2f 20 |or DASM.|.//..// |
|000000f0| 57 72 69 74 74 65 6e 20 | 62 79 20 4c 61 6e 65 20 |Written |by Lane |
|00000100| 52 6f 61 74 68 65 0d 0a | 2f 2f 20 28 63 29 20 43 |Roathe..|// (c) C|
|00000110| 6f 70 79 72 69 67 68 74 | 20 31 39 39 35 20 49 64 |opyright| 1995 Id|
|00000120| 65 61 73 20 46 72 6f 6d | 20 74 68 65 20 44 65 65 |eas From| the Dee|
|00000130| 70 2c 20 4c 74 64 2e 20 | 41 6c 6c 20 52 69 67 68 |p, Ltd. |All Righ|
|00000140| 74 73 20 52 65 73 65 72 | 76 65 64 21 0d 0a 2f 2f |ts Reser|ved!..//|
|00000150| 0d 0a 2f 2f 20 52 45 4c | 45 41 53 45 20 4e 4f 54 |..// REL|EASE NOT|
|00000160| 45 53 3a 0d 0a 2f 2f 0d | 0a 2f 2f 09 54 68 69 73 |ES:..//.|.//.This|
|00000170| 20 63 6f 64 65 20 69 73 | 20 72 65 6c 65 61 73 65 | code is| release|
|00000180| 64 20 61 73 20 43 6f 64 | 65 57 61 72 65 2c 20 6d |d as Cod|eWare, m|
|00000190| 65 61 6e 69 6e 67 20 74 | 68 61 74 20 79 6f 75 20 |eaning t|hat you |
|000001a0| 61 72 65 20 66 72 65 65 | 20 74 6f 20 75 73 65 20 |are free| to use |
|000001b0| 69 74 2c 0d 0a 2f 2f 09 | 69 6e 20 65 78 63 68 61 |it,..//.|in excha|
|000001c0| 6e 67 65 20 66 6f 72 20 | 73 65 6e 64 69 6e 67 20 |nge for |sending |
|000001d0| 4c 61 6e 65 20 52 6f 61 | 74 68 65 20 3c 6c 72 6f |Lane Roa|the <lro|
|000001e0| 61 74 68 65 40 69 66 64 | 2e 66 69 78 6e 65 74 2e |athe@ifd|.fixnet.|
|000001f0| 63 6f 6d 3e 20 61 20 75 | 74 69 6c 69 74 79 20 61 |com> a u|tility a|
|00000200| 6e 64 2f 6f 72 0d 0a 2f | 2f 09 70 69 65 63 65 20 |nd/or../|/.piece |
|00000210| 6f 66 20 73 6f 75 72 63 | 65 20 63 6f 64 65 20 6f |of sourc|e code o|
|00000220| 66 20 73 69 6d 69 6c 61 | 72 20 76 61 6c 75 65 2e |f simila|r value.|
|00000230| 20 59 6f 75 20 6d 61 79 | 20 64 69 73 74 72 69 62 | You may| distrib|
|00000240| 75 74 65 20 74 68 69 73 | 20 63 6f 64 65 20 66 72 |ute this| code fr|
|00000250| 65 65 6c 79 2c 0d 0a 2f | 2f 09 61 73 20 6c 6f 6e |eely,../|/.as lon|
|00000260| 67 20 61 73 20 69 74 20 | 69 73 20 64 69 73 74 72 |g as it |is distr|
|00000270| 69 62 75 74 65 64 20 61 | 73 20 61 6e 20 65 6e 74 |ibuted a|s an ent|
|00000280| 69 72 65 20 70 61 63 6b | 61 67 65 20 77 69 74 68 |ire pack|age with|
|00000290| 6f 75 74 20 6d 6f 64 69 | 66 69 63 61 74 69 6f 6e |out modi|fication|
|000002a0| 73 21 0d 0a 2f 2f 0d 0a | 2f 2f 09 49 66 20 79 6f |s!..//..|//.If yo|
|000002b0| 75 20 75 73 65 20 61 6e | 79 20 6f 66 20 74 68 69 |u use an|y of thi|
|000002c0| 73 20 63 6f 64 65 2c 20 | 70 6c 65 61 73 65 20 67 |s code, |please g|
|000002d0| 69 76 65 20 4c 61 6e 65 | 20 52 6f 61 74 68 65 20 |ive Lane| Roathe |
|000002e0| 63 72 65 64 69 74 2e 20 | 54 68 61 6e 6b 73 21 0d |credit. |Thanks!.|
|000002f0| 0a 2f 2f 0d 0a 2f 2f 09 | 49 66 20 79 6f 75 20 6d |.//..//.|If you m|
|00000300| 61 6b 65 20 6d 6f 64 69 | 66 69 63 61 74 69 6f 6e |ake modi|fication|
|00000310| 73 20 79 6f 75 27 64 20 | 6c 69 6b 65 20 74 6f 20 |s you'd |like to |
|00000320| 73 65 65 20 69 6e 20 74 | 68 65 20 64 69 73 74 72 |see in t|he distr|
|00000330| 69 62 75 74 69 6f 6e 20 | 70 61 63 6b 61 67 65 2c |ibution |package,|
|00000340| 0d 0a 2f 2f 09 70 6c 65 | 61 73 65 20 66 65 65 6c |..//.ple|ase feel|
|00000350| 20 66 72 65 65 20 74 6f | 20 73 65 6e 64 20 74 68 | free to| send th|
|00000360| 65 6d 20 74 6f 20 4c 61 | 6e 65 20 77 2f 61 20 6e |em to La|ne w/a n|
|00000370| 6f 74 65 2e 20 4d 6f 73 | 74 20 6c 69 6b 65 6c 79 |ote. Mos|t likely|
|00000380| 20 69 74 20 77 69 6c 6c | 20 68 61 70 70 65 6e 2e | it will| happen.|
|00000390| 0d 0a 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..//----|--------|
|000003a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000003d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 0a 2f 2f 20 30 32 |--------|-..// 02|
|000003e0| 2d 32 38 2d 39 37 20 4c | 52 20 3a 4b 4a 20 70 6f |-28-97 L|R :KJ po|
|000003f0| 69 6e 74 73 20 6f 75 74 | 20 62 75 67 20 77 2f 74 |ints out| bug w/t|
|00000400| 6f 6f 20 6d 61 6e 79 20 | 6d 61 63 72 6f 20 70 61 |oo many |macro pa|
|00000410| 72 6d 73 2c 20 66 69 78 | 65 64 2c 20 70 6c 75 73 |rms, fix|ed, plus|
|00000420| 20 6e 65 77 20 6d 61 63 | 72 6f 20 65 72 72 73 0d | new mac|ro errs.|
|00000430| 0a 2f 2f 20 30 32 2d 32 | 37 2d 39 37 20 4c 52 20 |.// 02-2|7-97 LR |
|00000440| 3a 66 69 78 20 6d 61 63 | 72 6f 20 61 73 73 65 6d |:fix mac|ro assem|
|00000450| 62 6c 79 2c 20 6c 6f 63 | 61 6c 20 6c 61 62 65 6c |bly, loc|al label|
|00000460| 20 74 72 61 63 6b 69 6e | 67 2c 20 65 74 63 2e 0d | trackin|g, etc..|
|00000470| 0a 2f 2f 20 30 32 2d 31 | 36 2d 39 37 20 4c 52 20 |.// 02-1|6-97 LR |
|00000480| 3a 74 72 61 63 6b 20 65 | 72 72 73 2f 77 61 72 6e |:track e|rrs/warn|
|00000490| 73 2c 20 63 6c 65 61 6e | 20 75 70 20 66 6f 72 20 |s, clean| up for |
|000004a0| 41 70 70 2c 20 61 20 66 | 65 77 20 62 75 67 20 66 |App, a f|ew bug f|
|000004b0| 69 78 65 73 0d 0a 2f 2f | 20 31 30 2d 33 30 2d 39 |ixes..//| 10-30-9|
|000004c0| 35 20 4c 52 20 3a 61 64 | 64 20 6e 6f 6e 2d 66 61 |5 LR :ad|d non-fa|
|000004d0| 74 61 6c 20 65 72 72 6f | 72 20 6d 65 73 73 61 67 |tal erro|r messag|
|000004e0| 65 73 2c 20 74 72 61 63 | 6b 20 69 6e 66 6f 20 66 |es, trac|k info f|
|000004f0| 6f 72 20 49 44 45 20 75 | 73 65 20 77 2f 65 72 72 |or IDE u|se w/err|
|00000500| 6f 72 73 0d 0a 2f 2f 20 | 31 30 2d 32 39 2d 39 35 |ors..// |10-29-95|
|00000510| 20 4c 52 20 3a 61 64 64 | 20 49 6e 69 74 20 61 6e | LR :add| Init an|
|00000520| 64 20 54 65 72 6d 20 41 | 73 73 65 6d 62 6c 65 72 |d Term A|ssembler|
|00000530| 20 66 75 6e 63 74 69 6f | 6e 73 2c 20 69 6d 70 72 | functio|ns, impr|
|00000540| 6f 76 65 20 65 72 72 6f | 72 20 72 65 70 6f 72 74 |ove erro|r report|
|00000550| 69 6e 67 0d 0a 2f 2f 20 | 30 36 2d 31 33 2d 39 35 |ing..// |06-13-95|
|00000560| 20 4c 52 20 3a 65 78 70 | 61 6e 64 73 20 61 6e 64 | LR :exp|ands and|
|00000570| 20 61 73 73 65 6d 62 6c | 65 73 20 6d 61 63 72 6f | assembl|es macro|
|00000580| 73 20 77 2f 70 61 72 6d | 73 2c 20 65 6e 75 6d 73 |s w/parm|s, enums|
|00000590| 2c 20 74 79 70 65 64 65 | 66 73 2c 20 23 64 65 66 |, typede|fs, #def|
|000005a0| 69 6e 65 73 21 0d 0a 2f | 2f 20 30 36 2d 31 32 2d |ines!../|/ 06-12-|
|000005b0| 39 35 20 4c 52 20 3a 23 | 69 6e 63 6c 75 64 65 73 |95 LR :#|includes|
|000005c0| 2c 20 6d 61 63 72 6f 20 | 72 65 61 64 73 2c 20 73 |, macro |reads, s|
|000005d0| 61 76 65 73 20 6f 75 74 | 70 75 74 0d 0a 2f 2f 20 |aves out|put..// |
|000005e0| 30 36 2d 31 31 2d 39 35 | 20 4c 52 20 3a 61 73 73 |06-11-95| LR :ass|
|000005f0| 65 6d 62 6c 65 73 20 44 | 57 2c 20 3d 2c 20 45 51 |embles D|W, =, EQ|
|00000600| 55 2c 20 61 6e 64 20 65 | 78 70 72 65 73 73 69 6f |U, and e|xpressio|
|00000610| 6e 73 20 63 6f 72 72 65 | 63 74 6c 79 0d 0a 2f 2f |ns corre|ctly..//|
|00000620| 20 30 36 2d 31 30 2d 39 | 35 20 4c 52 20 3a 57 65 | 06-10-9|5 LR :We|
|00000630| 20 6e 65 65 64 20 61 20 | 77 6f 72 6b 69 6e 67 20 | need a |working |
|00000640| 22 61 73 73 65 6d 62 6c | 65 72 22 2c 20 73 6f 20 |"assembl|er", so |
|00000650| 77 72 69 74 65 20 6f 6e | 65 21 0d 0a 2f 2f 3d 3d |write on|e!..//==|
|00000660| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000670| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000680| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000690| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000006a0| 3d 3d 3d 0d 0a 0d 0a 23 | 69 6e 63 6c 75 64 65 20 |===....#|include |
|000006b0| 22 69 6e 63 6c 75 64 65 | 73 2e 68 22 09 2f 2f 20 |"include|s.h".// |
|000006c0| 72 65 71 75 69 72 65 64 | 20 74 6f 20 63 72 65 61 |required| to crea|
|000006d0| 74 65 20 50 43 48 20 6f | 6e 20 50 43 2c 20 65 6d |te PCH o|n PC, em|
|000006e0| 70 74 79 20 6f 6e 20 4d | 61 63 0d 0a 0d 0a 23 69 |pty on M|ac....#i|
|000006f0| 66 64 65 66 20 5f 5f 49 | 42 4d 5f 5f 0d 0a 09 23 |fdef __I|BM__...#|
|00000700| 69 6e 63 6c 75 64 65 20 | 22 73 74 72 61 69 64 73 |include |"straids|
|00000710| 2e 68 22 0d 0a 23 65 6c | 73 65 0d 0a 09 23 69 6e |.h"..#el|se...#in|
|00000720| 63 6c 75 64 65 20 22 73 | 74 72 61 69 64 73 2e 68 |clude "s|traids.h|
|00000730| 22 0d 0a 23 65 6e 64 69 | 66 0d 0a 0d 0a 2f 2f 20 |"..#endi|f....// |
|00000740| 4e 6f 20 6f 6e 65 20 65 | 6c 73 65 20 6e 65 65 64 |No one e|lse need|
|00000750| 73 20 74 6f 20 6b 6e 6f | 77 20 74 68 65 73 65 20 |s to kno|w these |
|00000760| 76 61 6c 75 65 73 21 0d | 0a 0d 0a 23 64 65 66 69 |values!.|...#defi|
|00000770| 6e 65 20 4d 41 58 50 41 | 52 4d 53 20 28 39 29 0d |ne MAXPA|RMS (9).|
|00000780| 0a 23 64 65 66 69 6e 65 | 20 50 41 52 4d 53 49 5a |.#define| PARMSIZ|
|00000790| 45 4d 41 58 20 28 36 34 | 29 09 2f 2f 20 6d 61 78 |EMAX (64|).// max|
|000007a0| 20 63 68 61 72 73 20 66 | 6f 72 20 70 61 72 6d 20 | chars f|or parm |
|000007b0| 73 75 62 73 74 69 74 75 | 74 69 6f 6e 0d 0a 23 64 |substitu|tion..#d|
|000007c0| 65 66 69 6e 65 20 4d 41 | 43 52 4f 4c 49 4e 45 53 |efine MA|CROLINES|
|000007d0| 49 5a 45 20 28 4d 41 58 | 50 41 52 4d 53 20 2a 20 |IZE (MAX|PARMS * |
|000007e0| 50 41 52 4d 53 49 5a 45 | 4d 41 58 20 2b 20 56 41 |PARMSIZE|MAX + VA|
|000007f0| 52 53 49 5a 45 29 0d 0a | 0d 0a 23 64 65 66 69 6e |RSIZE)..|..#defin|
|00000800| 65 20 53 59 4d 42 4f 4c | 49 4e 49 54 20 28 34 30 |e SYMBOL|INIT (40|
|00000810| 39 36 29 09 2f 2f 20 6d | 61 78 20 6c 61 62 65 6c |96).// m|ax label|
|00000820| 73 20 64 65 66 69 6e 61 | 62 6c 65 0d 0a 0d 0a 23 |s defina|ble....#|
|00000830| 64 65 66 69 6e 65 20 4d | 41 43 52 4f 49 4e 49 54 |define M|ACROINIT|
|00000840| 20 28 32 35 36 29 0d 0a | 23 64 65 66 69 6e 65 20 | (256)..|#define |
|00000850| 45 52 52 4f 52 49 4e 49 | 54 20 28 31 30 32 34 29 |ERRORINI|T (1024)|
|00000860| 0d 0a 0d 0a 23 64 65 66 | 69 6e 65 20 4f 55 54 42 |....#def|ine OUTB|
|00000870| 55 46 49 4e 49 54 20 28 | 38 30 30 30 29 09 2f 2f |UFINIT (|8000).//|
|00000880| 20 69 6e 69 74 69 61 6c | 20 73 69 7a 65 20 6f 66 | initial| size of|
|00000890| 20 6f 75 74 70 75 74 20 | 62 75 66 66 65 72 0d 0a | output |buffer..|
|000008a0| 23 64 65 66 69 6e 65 20 | 4f 55 54 42 55 46 50 4c |#define |OUTBUFPL|
|000008b0| 55 53 20 28 38 30 30 30 | 29 09 2f 2f 20 69 66 20 |US (8000|).// if |
|000008c0| 6f 75 74 70 75 74 20 62 | 75 66 66 65 72 20 66 69 |output b|uffer fi|
|000008d0| 6c 6c 73 2c 20 61 64 6a | 75 73 74 20 73 69 7a 65 |lls, adj|ust size|
|000008e0| 20 62 79 20 74 68 69 73 | 20 61 6d 6f 75 6e 74 0d | by this| amount.|
|000008f0| 0a 0d 0a 2f 2f 20 6c 6f | 63 61 6c 20 75 73 61 67 |...// lo|cal usag|
|00000900| 65 0d 0a 0d 0a 75 6e 73 | 69 67 6e 65 64 20 6c 6f |e....uns|igned lo|
|00000910| 6e 67 20 6f 75 74 42 75 | 66 53 69 7a 65 3b 0d 0a |ng outBu|fSize;..|
|00000920| 0d 0a 63 68 61 72 20 70 | 61 72 6d 5b 4d 41 58 50 |..char p|arm[MAXP|
|00000930| 41 52 4d 53 5d 5b 50 41 | 52 4d 53 49 5a 45 4d 41 |ARMS][PA|RMSIZEMA|
|00000940| 58 5d 3b 0d 0a 42 79 74 | 65 20 70 61 72 6d 55 73 |X];..Byt|e parmUs|
|00000950| 65 64 5b 4d 41 58 50 41 | 52 4d 53 5d 3b 0d 0a 0d |ed[MAXPA|RMS];...|
|00000960| 0a 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|00000970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000980| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000990| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000009a0| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0a 2f 2f 09 45 72 72 |========|..//.Err|
|000009b0| 6f 72 4d 65 73 73 61 67 | 65 0d 0a 2f 2f 0d 0a 2f |orMessag|e..//../|
|000009c0| 2f 09 44 69 73 70 6c 61 | 79 20 61 6e 20 65 72 72 |/.Displa|y an err|
|000009d0| 6f 72 20 6d 65 73 73 61 | 67 65 20 74 6f 20 74 68 |or messa|ge to th|
|000009e0| 65 20 75 73 65 72 2c 20 | 69 6e 20 61 20 49 44 45 |e user, |in a IDE|
|000009f0| 20 66 72 69 65 6e 64 6c | 79 20 6d 61 6e 6e 65 72 | friendl|y manner|
|00000a00| 2e 0d 0a 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...//===|========|
|00000a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 0a 0d 0a 23 64 |========|==....#d|
|00000a50| 65 66 69 6e 65 20 4d 41 | 58 5f 45 52 52 4c 49 4e |efine MA|X_ERRLIN|
|00000a60| 45 20 31 30 30 0d 0a 0d | 0a 4f 53 45 72 72 20 45 |E 100...|.OSErr E|
|00000a70| 72 72 6f 72 4d 65 73 73 | 61 67 65 28 20 4f 53 45 |rrorMess|age( OSE|
|00000a80| 72 72 20 65 72 72 6f 72 | 2c 20 4f 53 45 72 72 20 |rr error|, OSErr |
|00000a90| 6f 73 65 72 72 2c 20 69 | 6e 74 20 6c 69 6e 65 2c |oserr, i|nt line,|
|00000aa0| 20 45 72 72 6f 72 54 79 | 70 65 20 65 72 72 74 79 | ErrorTy|pe errty|
|00000ab0| 70 65 20 29 0d 0a 7b 0d | 0a 09 50 74 72 20 70 3b |pe )..{.|..Ptr p;|
|00000ac0| 0d 0a 09 69 6e 74 20 6c | 65 6e 3b 0d 0a 09 4f 53 |...int l|en;...OS|
|00000ad0| 45 72 72 20 65 72 72 3b | 0d 0a 09 63 68 61 72 20 |Err err;|...char |
|00000ae0| 65 72 72 6c 69 6e 65 5b | 4d 41 58 5f 45 52 52 4c |errline[|MAX_ERRL|
|00000af0| 49 4e 45 2b 31 5d 2c 20 | 65 72 72 73 74 72 5b 32 |INE+1], |errstr[2|
|00000b00| 35 36 5d 2c 20 65 72 72 | 77 6f 72 64 5b 56 41 52 |56], err|word[VAR|
|00000b10| 53 49 5a 45 2b 31 5d 2c | 20 62 75 66 5b 32 35 36 |SIZE+1],| buf[256|
|00000b20| 5d 3b 0d 0a 09 43 6f 6d | 70 69 6c 65 72 45 72 72 |];...Com|pilerErr|
|00000b30| 6f 72 52 65 66 20 65 72 | 72 64 61 74 61 3b 0d 0a |orRef er|rdata;..|
|00000b40| 09 42 6f 6f 6c 65 61 6e | 20 6d 61 63 72 6f 45 72 |.Boolean| macroEr|
|00000b50| 72 6f 72 3b 0d 0a 0d 0a | 09 69 66 28 20 67 50 72 |ror;....|.if( gPr|
|00000b60| 65 66 73 2e 6e 6f 77 61 | 72 6e 73 20 29 09 09 2f |efs.nowa|rns )../|
|00000b70| 2f 20 69 66 20 6e 6f 20 | 77 61 72 6e 69 6e 67 73 |/ if no |warnings|
|00000b80| 2c 20 65 76 65 72 79 74 | 68 69 6e 67 20 69 73 20 |, everyt|hing is |
|00000b90| 61 6e 20 65 72 72 6f 72 | 21 0d 0a 09 09 65 72 72 |an error|!....err|
|00000ba0| 74 79 70 65 20 3d 20 6b | 45 72 72 6f 72 3b 0d 0a |type = k|Error;..|
|00000bb0| 0d 0a 09 2f 2f 20 46 69 | 72 73 74 2c 20 63 6f 75 |...// Fi|rst, cou|
|00000bc0| 6e 74 20 74 79 70 65 20 | 6f 66 20 65 72 72 6f 72 |nt type |of error|
|00000bd0| 0d 0a 0d 0a 09 69 66 28 | 20 65 72 72 74 79 70 65 |.....if(| errtype|
|00000be0| 20 3d 3d 20 6b 57 61 72 | 6e 69 6e 67 20 29 0d 0a | == kWar|ning )..|
|00000bf0| 09 09 67 54 6f 74 61 6c | 57 61 72 6e 73 2b 2b 3b |..gTotal|Warns++;|
|00000c00| 0d 0a 09 65 6c 73 65 0d | 0a 09 09 67 54 6f 74 61 |...else.|...gTota|
|00000c10| 6c 45 72 72 73 2b 2b 3b | 0d 0a 0d 0a 09 69 66 28 |lErrs++;|.....if(|
|00000c20| 20 65 72 72 6f 72 20 3c | 20 30 20 7c 7c 20 65 72 | error <| 0 || er|
|00000c30| 72 6f 72 20 3e 20 45 52 | 52 4f 52 5f 43 4f 55 4e |ror > ER|ROR_COUN|
|00000c40| 54 20 29 0d 0a 09 09 73 | 74 72 63 70 79 28 20 65 |T )....s|trcpy( e|
|00000c50| 72 72 73 74 72 2c 20 22 | 2a 2a 2a 20 46 41 54 41 |rrstr, "|*** FATA|
|00000c60| 4c 20 49 4e 54 45 52 4e | 41 4c 20 45 52 52 4f 52 |L INTERN|AL ERROR|
|00000c70| 21 20 2a 2a 2a 22 20 29 | 3b 09 2f 2f 4c 52 20 30 |! ***" )|;.//LR 0|
|00000c80| 32 2d 31 36 2d 39 37 20 | 63 61 74 63 68 20 73 6f |2-16-97 |catch so|
|00000c90| 6d 65 20 62 75 67 73 3f | 0d 0a 09 65 6c 73 65 0d |me bugs?|...else.|
|00000ca0| 0a 09 7b 0d 0a 09 09 2f | 2f 20 63 72 65 61 74 65 |..{..../|/ create|
|00000cb0| 20 73 74 72 69 6e 67 73 | 20 66 6f 72 20 63 61 6c | strings| for cal|
|00000cc0| 6c 2d 62 61 63 6b 0d 0a | 0d 0a 09 09 47 65 74 49 |l-back..|....GetI|
|00000cd0| 6e 64 53 74 72 69 6e 67 | 28 20 28 53 74 72 69 6e |ndString|( (Strin|
|00000ce0| 67 50 74 72 29 65 72 72 | 73 74 72 2c 20 45 52 52 |gPtr)err|str, ERR|
|00000cf0| 4f 52 5f 52 45 53 5f 53 | 54 52 2c 20 65 72 72 6f |OR_RES_S|TR, erro|
|00000d00| 72 20 29 3b 0d 0a 09 09 | 50 74 6f 43 73 74 72 28 |r );....|PtoCstr(|
|00000d10| 20 28 53 74 72 69 6e 67 | 50 74 72 29 65 72 72 73 | (String|Ptr)errs|
|00000d20| 74 72 20 29 3b 0d 0a 09 | 7d 0d 0a 0d 0a 09 70 20 |tr );...|}.....p |
|00000d30| 3d 20 65 72 72 5f 6c 69 | 6e 65 53 74 61 72 74 3b |= err_li|neStart;|
|00000d40| 09 2f 2f 20 4d 6f 76 65 | 20 74 6f 20 73 74 61 72 |.// Move| to star|
|00000d50| 74 20 6f 66 20 74 65 78 | 74 21 0d 0a 09 77 68 69 |t of tex|t!...whi|
|00000d60| 6c 65 28 20 2a 70 20 3d | 3d 20 30 78 30 44 20 7c |le( *p =|= 0x0D ||
|00000d70| 7c 20 2a 70 20 3d 3d 20 | 30 78 30 41 20 29 20 7b || *p == |0x0A ) {|
|00000d80| 20 70 2b 2b 3b 20 7d 0d | 0a 0d 0a 09 70 20 3d 20 | p++; }.|....p = |
|00000d90| 65 72 72 5f 6c 69 6e 65 | 53 74 61 72 74 3b 09 2f |err_line|Start;./|
|00000da0| 2f 20 67 65 74 20 6c 69 | 6e 65 20 74 65 78 74 0d |/ get li|ne text.|
|00000db0| 0a 09 64 6f 20 70 2b 2b | 3b 20 77 68 69 6c 65 28 |..do p++|; while(|
|00000dc0| 20 2a 70 20 21 3d 20 30 | 78 30 44 20 26 26 20 2a | *p != 0|x0D && *|
|00000dd0| 70 20 21 3d 20 30 78 30 | 41 20 29 3b 0d 0a 0d 0a |p != 0x0|A );....|
|00000de0| 09 6c 65 6e 20 3d 20 28 | 70 20 2d 20 65 72 72 5f |.len = (|p - err_|
|00000df0| 6c 69 6e 65 53 74 61 72 | 74 29 3b 0d 0a 09 69 66 |lineStar|t);...if|
|00000e00| 28 20 6c 65 6e 20 3e 20 | 4d 41 58 5f 45 52 52 4c |( len > |MAX_ERRL|
|00000e10| 49 4e 45 20 29 0d 0a 09 | 09 6c 65 6e 20 3d 20 4d |INE )...|.len = M|
|00000e20| 41 58 5f 45 52 52 4c 49 | 4e 45 3b 0d 0a 09 73 74 |AX_ERRLI|NE;...st|
|00000e30| 72 6e 63 70 79 28 20 65 | 72 72 6c 69 6e 65 2c 20 |rncpy( e|rrline, |
|00000e40| 65 72 72 5f 6c 69 6e 65 | 53 74 61 72 74 2c 20 6c |err_line|Start, l|
|00000e50| 65 6e 20 29 3b 09 2f 2f | 20 64 61 6d 6e 2c 20 74 |en );.//| damn, t|
|00000e60| 68 69 73 20 73 75 72 65 | 20 69 73 20 61 20 6c 6f |his sure| is a lo|
|00000e70| 74 20 6f 66 20 77 6f 72 | 6b 21 0d 0a 09 65 72 72 |t of wor|k!...err|
|00000e80| 6c 69 6e 65 5b 6c 65 6e | 5d 20 3d 20 30 3b 0d 0a |line[len|] = 0;..|
|00000e90| 0d 0a 09 2f 2f 20 6d 61 | 63 72 6f 20 6f 72 20 73 |...// ma|cro or s|
|00000ea0| 6f 75 72 63 65 20 65 72 | 72 6f 72 3f 0d 0a 0d 0a |ource er|ror?....|
|00000eb0| 09 6d 61 63 72 6f 45 72 | 72 6f 72 20 3d 20 67 70 |.macroEr|ror = gp|
|00000ec0| 45 72 72 57 6f 72 64 20 | 3c 20 65 72 72 5f 6c 69 |ErrWord |< err_li|
|00000ed0| 6e 65 53 74 61 72 74 20 | 7c 7c 20 67 70 45 72 72 |neStart ||| gpErr|
|00000ee0| 57 6f 72 64 20 3e 20 67 | 42 75 66 66 65 72 45 6e |Word > g|BufferEn|
|00000ef0| 64 3b 0d 0a 09 69 66 28 | 20 6d 61 63 72 6f 45 72 |d;...if(| macroEr|
|00000f00| 72 6f 72 20 29 0d 0a 09 | 7b 0d 0a 09 09 65 72 72 |ror )...|{....err|
|00000f10| 64 61 74 61 2e 6f 66 66 | 73 65 74 20 3d 20 65 72 |data.off|set = er|
|00000f20| 72 5f 6c 69 6e 65 53 74 | 61 72 74 20 2d 20 65 72 |r_lineSt|art - er|
|00000f30| 72 5f 73 72 63 53 74 61 | 72 74 3b 0d 0a 09 09 65 |r_srcSta|rt;....e|
|00000f40| 72 72 64 61 74 61 2e 65 | 72 72 6f 72 6f 66 66 73 |rrdata.e|rroroffs|
|00000f50| 65 74 20 3d 20 65 72 72 | 64 61 74 61 2e 73 79 6e |et = err|data.syn|
|00000f60| 63 6f 66 66 73 65 74 20 | 3d 20 30 3b 0d 0a 09 7d |coffset |= 0;...}|
|00000f70| 0d 0a 09 65 6c 73 65 0d | 0a 09 7b 0d 0a 09 09 65 |...else.|..{....e|
|00000f80| 72 72 64 61 74 61 2e 6f | 66 66 73 65 74 20 3d 20 |rrdata.o|ffset = |
|00000f90| 67 70 45 72 72 57 6f 72 | 64 20 2d 20 65 72 72 5f |gpErrWor|d - err_|
|00000fa0| 73 72 63 53 74 61 72 74 | 3b 0d 0a 09 09 65 72 72 |srcStart|;....err|
|00000fb0| 64 61 74 61 2e 65 72 72 | 6f 72 6f 66 66 73 65 74 |data.err|oroffset|
|00000fc0| 20 3d 20 65 72 72 64 61 | 74 61 2e 73 79 6e 63 6f | = errda|ta.synco|
|00000fd0| 66 66 73 65 74 20 3d 20 | 67 70 45 72 72 57 6f 72 |ffset = |gpErrWor|
|00000fe0| 64 20 2d 20 65 72 72 5f | 6c 69 6e 65 53 74 61 72 |d - err_|lineStar|
|00000ff0| 74 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 2f 2f 20 4e 6f |t;...}..|...// No|
|00001000| 77 2c 20 67 65 74 20 74 | 68 65 20 62 61 64 20 22 |w, get t|he bad "|
|00001010| 77 6f 72 64 22 0d 0a 0d | 0a 09 70 20 3d 20 67 70 |word"...|..p = gp|
|00001020| 45 72 72 57 6f 72 64 3b | 0d 0a 09 4e 65 78 74 57 |ErrWord;|...NextW|
|00001030| 6f 72 64 28 20 26 70 2c | 20 65 72 72 77 6f 72 64 |ord( &p,| errword|
|00001040| 2c 20 56 41 52 53 49 5a | 45 20 29 3b 0d 0a 0d 0a |, VARSIZ|E );....|
|00001050| 09 2f 2f 20 73 65 74 75 | 70 20 72 65 73 74 20 6f |.// setu|p rest o|
|00001060| 66 20 65 72 72 6f 72 20 | 72 65 63 6f 72 64 0d 0a |f error |record..|
|00001070| 0d 0a 09 65 72 72 64 61 | 74 61 2e 6c 65 6e 67 74 |...errda|ta.lengt|
|00001080| 68 20 3d 20 73 74 72 6c | 65 6e 28 20 65 72 72 77 |h = strl|en( errw|
|00001090| 6f 72 64 20 29 3b 0d 0a | 09 65 72 72 64 61 74 61 |ord );..|.errdata|
|000010a0| 2e 73 79 6e 63 6c 65 6e | 20 3d 20 33 32 3b 0d 0a |.synclen| = 32;..|
|000010b0| 09 73 74 72 6e 63 70 79 | 28 20 65 72 72 64 61 74 |.strncpy|( errdat|
|000010c0| 61 2e 73 79 6e 63 2c 20 | 65 72 72 5f 6c 69 6e 65 |a.sync, |err_line|
|000010d0| 53 74 61 72 74 2c 20 33 | 32 20 29 3b 09 2f 2f 20 |Start, 3|2 );.// |
|000010e0| 62 61 73 69 63 61 6c 6c | 79 20 74 68 65 20 6c 69 |basicall|y the li|
|000010f0| 6e 65 20 6f 66 20 74 68 | 65 20 65 72 72 6f 72 0d |ne of th|e error.|
|00001100| 0a 09 65 72 72 64 61 74 | 61 2e 65 72 72 6f 72 6c |..errdat|a.errorl|
|00001110| 65 6e 67 74 68 20 3d 20 | 65 72 72 64 61 74 61 2e |ength = |errdata.|
|00001120| 6c 65 6e 67 74 68 3b 0d | 0a 0d 0a 09 65 72 72 64 |length;.|....errd|
|00001130| 61 74 61 2e 65 72 72 6f | 72 66 69 6c 65 20 3d 20 |ata.erro|rfile = |
|00001140| 2a 67 53 70 65 63 3b 09 | 2f 2f 20 63 6f 6e 74 61 |*gSpec;.|// conta|
|00001150| 69 6e 73 20 73 70 65 63 | 20 6f 66 20 63 75 72 72 |ins spec| of curr|
|00001160| 65 6e 74 6c 79 20 61 73 | 73 65 6d 62 6c 69 6e 67 |ently as|sembling|
|00001170| 20 66 69 6c 65 0d 0a 09 | 65 72 72 64 61 74 61 2e | file...|errdata.|
|00001180| 6c 69 6e 65 6e 75 6d 62 | 65 72 20 3d 20 6c 69 6e |linenumb|er = lin|
|00001190| 65 3b 0d 0a 09 65 72 72 | 64 61 74 61 2e 77 61 72 |e;...err|data.war|
|000011a0| 6e 69 6e 67 20 3d 20 65 | 72 72 74 79 70 65 3b 0d |ning = e|rrtype;.|
|000011b0| 0a 0d 0a 09 2f 2f 20 53 | 68 6f 77 20 74 72 75 65 |....// S|how true|
|000011c0| 20 65 72 72 6f 72 20 77 | 6f 72 64 20 69 6e 20 63 | error w|ord in c|
|000011d0| 61 73 65 20 6f 66 20 6d | 61 63 72 6f 20 65 78 70 |ase of m|acro exp|
|000011e0| 61 6e 73 69 6f 6e 21 0d | 0a 0d 0a 09 73 70 72 69 |ansion!.|....spri|
|000011f0| 6e 74 66 28 20 62 75 66 | 2c 20 22 25 64 3a 25 73 |ntf( buf|, "%d:%s|
|00001200| 20 28 25 73 29 22 2c 20 | 28 69 6e 74 29 6f 73 65 | (%s)", |(int)ose|
|00001210| 72 72 2c 20 65 72 72 73 | 74 72 2c 20 65 72 72 77 |rr, errs|tr, errw|
|00001220| 6f 72 64 20 29 3b 0d 0a | 0d 0a 09 2f 2f 20 66 69 |ord );..|...// fi|
|00001230| 6e 61 6c 6c 79 2c 20 77 | 65 20 73 65 6e 64 20 61 |nally, w|e send a|
|00001240| 6c 6c 20 6f 66 20 74 68 | 69 73 20 74 6f 20 74 68 |ll of th|is to th|
|00001250| 65 20 49 44 45 20 66 6f | 72 20 66 75 74 75 72 65 |e IDE fo|r future|
|00001260| 20 75 73 65 0d 0a 0d 0a | 09 65 72 72 20 3d 20 53 | use....|.err = S|
|00001270| 65 6e 64 45 72 72 6f 72 | 4d 65 73 73 61 67 65 28 |endError|Message(|
|00001280| 20 26 65 72 72 64 61 74 | 61 2c 20 62 75 66 2c 20 | &errdat|a, buf, |
|00001290| 65 72 72 6c 69 6e 65 20 | 29 3b 0d 0a 09 69 66 28 |errline |);...if(|
|000012a0| 20 21 65 72 72 20 26 26 | 20 67 54 6f 74 61 6c 45 | !err &&| gTotalE|
|000012b0| 72 72 73 20 3e 3d 20 67 | 50 72 65 66 73 2e 6d 61 |rrs >= g|Prefs.ma|
|000012c0| 78 65 72 72 73 20 29 0d | 0a 09 09 65 72 72 20 3d |xerrs ).|...err =|
|000012d0| 20 45 52 52 4f 52 5f 54 | 4f 4f 4d 41 4e 59 45 52 | ERROR_T|OOMANYER|
|000012e0| 52 4f 52 53 3b 0d 0a 0d | 0a 09 72 65 74 75 72 6e |RORS;...|..return|
|000012f0| 28 20 65 72 72 20 29 3b | 0d 0a 7d 0d 0a 0d 0a 2f |( err );|..}..../|
|00001300| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00001310| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001320| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001330| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001340| 3d 3d 3d 3d 3d 3d 0d 0a | 2f 2f 09 46 61 74 61 6c |======..|//.Fatal|
|00001350| 4d 65 73 73 61 67 65 0d | 0a 2f 2f 0d 0a 2f 2f 09 |Message.|.//..//.|
|00001360| 44 69 73 70 6c 61 79 20 | 61 6e 20 65 72 72 6f 72 |Display |an error|
|00001370| 20 6d 65 73 73 61 67 65 | 20 74 6f 20 74 68 65 20 | message| to the |
|00001380| 75 73 65 72 2e 0d 0a 2f | 2f 3d 3d 3d 3d 3d 3d 3d |user.../|/=======|
|00001390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000013c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0a |========|======..|
|000013d0| 0d 0a 76 6f 69 64 20 46 | 61 74 61 6c 4d 65 73 73 |..void F|atalMess|
|000013e0| 61 67 65 28 20 4f 53 45 | 72 72 20 65 72 72 6f 72 |age( OSE|rr error|
|000013f0| 20 29 0d 0a 7b 0d 0a 09 | 4f 53 45 72 72 20 65 72 | )..{...|OSErr er|
|00001400| 72 3b 0d 0a 09 53 74 72 | 32 35 35 20 65 72 72 73 |r;...Str|255 errs|
|00001410| 74 72 3b 0d 0a 09 53 74 | 72 33 31 20 65 72 72 6e |tr;...St|r31 errn|
|00001420| 75 6d 3b 0d 0a 0d 0a 09 | 69 66 28 20 65 72 72 6f |um;.....|if( erro|
|00001430| 72 20 3c 20 45 52 52 4f | 52 5f 46 41 54 41 4c 20 |r < ERRO|R_FATAL |
|00001440| 7c 7c 20 65 72 72 6f 72 | 20 3e 3d 20 46 49 52 53 ||| error| >= FIRS|
|00001450| 54 5f 57 41 52 4e 49 4e | 47 20 29 09 2f 2f 20 6c |T_WARNIN|G ).// l|
|00001460| 69 76 65 20 65 72 72 6f | 72 20 28 61 73 73 75 6d |ive erro|r (assum|
|00001470| 65 20 66 69 6c 65 69 6f | 20 65 72 72 6f 72 29 0d |e fileio| error).|
|00001480| 0a 09 7b 0d 0a 09 09 65 | 72 72 20 3d 20 65 72 72 |..{....e|rr = err|
|00001490| 6f 72 3b 0d 0a 09 09 65 | 72 72 6f 72 20 3d 20 45 |or;....e|rror = E|
|000014a0| 52 52 4f 52 5f 53 41 56 | 49 4e 47 3b 0d 0a 09 7d |RROR_SAV|ING;...}|
|000014b0| 0d 0a 09 65 6c 73 65 0d | 0a 09 7b 0d 0a 09 09 65 |...else.|..{....e|
|000014c0| 72 72 20 3d 20 52 65 73 | 45 72 72 6f 72 28 29 3b |rr = Res|Error();|
|000014d0| 0d 0a 09 09 69 66 28 20 | 21 65 72 72 20 29 0d 0a |....if( |!err )..|
|000014e0| 09 09 09 65 72 72 20 3d | 20 4d 65 6d 45 72 72 6f |...err =| MemErro|
|000014f0| 72 28 29 3b 09 2f 2f 20 | 74 72 79 20 74 6f 20 72 |r();.// |try to r|
|00001500| 65 74 75 72 6e 20 61 20 | 22 6d 65 61 6e 69 6e 67 |eturn a |"meaning|
|00001510| 66 75 6c 22 20 65 72 72 | 6f 72 20 23 0d 0a 09 7d |ful" err|or #...}|
|00001520| 0d 0a 0d 0a 09 67 54 6f | 74 61 6c 45 72 72 73 2b |.....gTo|talErrs+|
|00001530| 2b 3b 0d 0a 0d 0a 09 47 | 65 74 49 6e 64 53 74 72 |+;.....G|etIndStr|
|00001540| 69 6e 67 28 20 65 72 72 | 73 74 72 2c 20 45 52 52 |ing( err|str, ERR|
|00001550| 4f 52 5f 52 45 53 5f 53 | 54 52 2c 20 65 72 72 6f |OR_RES_S|TR, erro|
|00001560| 72 20 29 3b 0d 0a 09 4e | 75 6d 54 6f 53 74 72 69 |r );...N|umToStri|
|00001570| 6e 67 28 20 65 72 72 6f | 72 2c 20 65 72 72 6e 75 |ng( erro|r, errnu|
|00001580| 6d 20 29 3b 0d 0a 09 41 | 70 70 65 6e 64 53 74 72 |m );...A|ppendStr|
|00001590| 69 6e 67 28 20 65 72 72 | 6e 75 6d 2c 20 65 72 72 |ing( err|num, err|
|000015a0| 73 74 72 20 29 3b 0d 0a | 09 50 74 6f 43 73 74 72 |str );..|.PtoCstr|
|000015b0| 28 20 65 72 72 73 74 72 | 20 29 3b 0d 0a 0d 0a 09 |( errstr| );.....|
|000015c0| 53 65 6e 64 4f 53 45 72 | 72 6f 72 4d 65 73 73 61 |SendOSEr|rorMessa|
|000015d0| 67 65 28 20 28 63 68 61 | 72 20 2a 29 65 72 72 73 |ge( (cha|r *)errs|
|000015e0| 74 72 2c 20 65 72 72 20 | 29 3b 0d 0a 7d 0d 0a 0d |tr, err |);..}...|
|000015f0| 0a 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|00001600| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001610| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001630| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0a 2f 2f 09 55 70 64 |========|..//.Upd|
|00001640| 61 74 65 4f 75 74 48 64 | 6c 0d 0a 2f 2f 0d 0a 2f |ateOutHd|l..//../|
|00001650| 2f 09 55 70 64 61 74 65 | 73 20 74 68 65 20 6f 75 |/.Update|s the ou|
|00001660| 74 70 75 74 20 62 75 66 | 66 65 72 20 69 6e 64 65 |tput buf|fer inde|
|00001670| 78 20 28 26 20 73 69 7a | 65 20 69 66 20 6e 65 65 |x (& siz|e if nee|
|00001680| 64 65 64 29 20 62 79 20 | 23 20 6f 66 20 62 79 74 |ded) by |# of byt|
|00001690| 65 73 20 70 61 73 73 65 | 64 0d 0a 2f 2f 3d 3d 3d |es passe|d..//===|
|000016a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000016e0| 3d 3d 0d 0a 0d 0a 73 74 | 61 74 69 63 20 4f 53 45 |==....st|atic OSE|
|000016f0| 72 72 20 55 70 64 61 74 | 65 4f 75 74 48 64 6c 28 |rr Updat|eOutHdl(|
|00001700| 20 69 6e 74 20 61 20 29 | 0d 0a 7b 0d 0a 09 69 66 | int a )|..{...if|
|00001710| 28 20 21 67 46 69 72 73 | 74 50 61 73 73 20 29 0d |( !gFirs|tPass ).|
|00001720| 0a 09 7b 0d 0a 09 09 67 | 4f 75 74 49 6e 64 65 78 |..{....g|OutIndex|
|00001730| 20 2b 3d 20 61 3b 0d 0a | 09 09 67 50 43 20 2b 3d | += a;..|..gPC +=|
|00001740| 20 61 3b 0d 0a 09 09 69 | 66 28 20 67 4f 75 74 49 | a;....i|f( gOutI|
|00001750| 6e 64 65 78 20 3e 3d 20 | 6f 75 74 42 75 66 53 69 |ndex >= |outBufSi|
|00001760| 7a 65 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 6f 75 |ze )....|{.....ou|
|00001770| 74 42 75 66 53 69 7a 65 | 20 2b 3d 20 4f 55 54 42 |tBufSize| += OUTB|
|00001780| 55 46 50 4c 55 53 3b 0d | 0a 09 09 09 53 65 74 48 |UFPLUS;.|....SetH|
|00001790| 61 6e 64 6c 65 53 69 7a | 65 28 20 67 4f 75 74 48 |andleSiz|e( gOutH|
|000017a0| 61 6e 64 6c 65 2c 20 6f | 75 74 42 75 66 53 69 7a |andle, o|utBufSiz|
|000017b0| 65 20 29 3b 0d 0a 09 09 | 09 69 66 28 20 4d 65 6d |e );....|.if( Mem|
|000017c0| 45 72 72 6f 72 28 29 20 | 29 0d 0a 09 09 09 09 72 |Error() |)......r|
|000017d0| 65 74 75 72 6e 28 20 45 | 52 52 4f 52 5f 4d 45 4d |eturn( E|RROR_MEM|
|000017e0| 4f 52 59 20 29 3b 09 2f | 2f 20 63 61 6e 27 74 20 |ORY );./|/ can't |
|000017f0| 6a 75 73 74 20 72 65 74 | 75 72 6e 20 4d 65 6d 45 |just ret|urn MemE|
|00001800| 72 72 6f 72 20 64 75 65 | 20 74 6f 20 53 54 52 23 |rror due| to STR#|
|00001810| 20 72 65 73 6f 75 72 63 | 65 0d 0a 09 09 7d 0d 0a | resourc|e....}..|
|00001820| 09 7d 0d 0a 0d 0a 09 72 | 65 74 75 72 6e 28 20 6e |.}.....r|eturn( n|
|00001830| 6f 45 72 72 20 29 3b 0d | 0a 7d 0d 0a 0d 0a 2f 2f |oErr );.|.}....//|
|00001840| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001850| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001860| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001870| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001880| 3d 3d 3d 3d 3d 0d 0a 2f | 2f 09 4f 75 74 42 79 74 |=====../|/.OutByt|
|00001890| 65 0d 0a 2f 2f 0d 0a 2f | 2f 09 41 70 70 65 6e 64 |e..//../|/.Append|
|000018a0| 20 61 20 62 79 74 65 20 | 74 6f 20 74 68 65 20 6f | a byte |to the o|
|000018b0| 75 74 70 75 74 20 62 75 | 66 66 65 72 0d 0a 2f 2f |utput bu|ffer..//|
|000018c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000018f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001900| 3d 3d 3d 3d 3d 0d 0a 0d | 0a 4f 53 45 72 72 20 4f |=====...|.OSErr O|
|00001910| 75 74 42 79 74 65 28 20 | 55 42 59 54 45 20 76 20 |utByte( |UBYTE v |
|00001920| 29 0d 0a 7b 0d 0a 09 69 | 66 28 20 21 67 46 69 72 |)..{...i|f( !gFir|
|00001930| 73 74 50 61 73 73 20 29 | 0d 0a 09 7b 0d 0a 09 09 |stPass )|...{....|
|00001940| 2a 28 55 42 59 54 45 20 | 2a 29 28 2a 67 4f 75 74 |*(UBYTE |*)(*gOut|
|00001950| 48 61 6e 64 6c 65 20 2b | 20 67 4f 75 74 49 6e 64 |Handle +| gOutInd|
|00001960| 65 78 29 20 3d 20 76 3b | 0d 0a 09 09 72 65 74 75 |ex) = v;|....retu|
|00001970| 72 6e 28 20 55 70 64 61 | 74 65 4f 75 74 48 64 6c |rn( Upda|teOutHdl|
|00001980| 28 20 73 69 7a 65 6f 66 | 28 55 42 59 54 45 29 20 |( sizeof|(UBYTE) |
|00001990| 29 20 29 3b 0d 0a 09 7d | 0d 0a 09 72 65 74 75 72 |) );...}|...retur|
|000019a0| 6e 28 20 6e 6f 45 72 72 | 20 29 3b 0d 0a 7d 0d 0a |n( noErr| );..}..|
|000019b0| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|000019c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000019d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000019e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000019f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 2f 2f 09 4f 75 |========|=..//.Ou|
|00001a00| 74 57 6f 72 64 0d 0a 2f | 2f 0d 0a 2f 2f 09 41 70 |tWord../|/..//.Ap|
|00001a10| 70 65 6e 64 20 61 20 77 | 6f 72 64 20 74 6f 20 74 |pend a w|ord to t|
|00001a20| 68 65 20 6f 75 74 70 75 | 74 20 62 75 66 66 65 72 |he outpu|t buffer|
|00001a30| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00001a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 0d 0a 4f 53 45 |========|=....OSE|
|00001a80| 72 72 20 4f 75 74 57 6f | 72 64 28 20 55 57 4f 52 |rr OutWo|rd( UWOR|
|00001a90| 44 20 76 20 29 0d 0a 7b | 0d 0a 09 69 66 28 20 21 |D v )..{|...if( !|
|00001aa0| 67 46 69 72 73 74 50 61 | 73 73 20 29 0d 0a 09 7b |gFirstPa|ss )...{|
|00001ab0| 0d 0a 09 09 2a 28 55 57 | 4f 52 44 20 2a 29 28 2a |....*(UW|ORD *)(*|
|00001ac0| 67 4f 75 74 48 61 6e 64 | 6c 65 2b 20 67 4f 75 74 |gOutHand|le+ gOut|
|00001ad0| 49 6e 64 65 78 29 20 3d | 20 76 3b 0d 0a 09 09 72 |Index) =| v;....r|
|00001ae0| 65 74 75 72 6e 28 20 55 | 70 64 61 74 65 4f 75 74 |eturn( U|pdateOut|
|00001af0| 48 64 6c 28 20 73 69 7a | 65 6f 66 28 55 57 4f 52 |Hdl( siz|eof(UWOR|
|00001b00| 44 29 20 29 20 29 3b 0d | 0a 09 7d 0d 0a 09 72 65 |D) ) );.|..}...re|
|00001b10| 74 75 72 6e 28 20 6e 6f | 45 72 72 20 29 3b 0d 0a |turn( no|Err );..|
|00001b20| 7d 0d 0a 0d 0a 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |}....//=|========|
|00001b30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001b40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0a 2f 2f |========|====..//|
|00001b70| 09 4f 75 74 4c 6f 6e 67 | 0d 0a 2f 2f 0d 0a 2f 2f |.OutLong|..//..//|
|00001b80| 09 41 70 70 65 6e 64 20 | 61 20 6c 6f 6e 67 20 74 |.Append |a long t|
|00001b90| 6f 20 74 68 65 20 6f 75 | 74 70 75 74 20 62 75 66 |o the ou|tput buf|
|00001ba0| 66 65 72 0d 0a 2f 2f 3d | 3d 3d 3d 3d 3d 3d 3d 3d |fer..//=|========|
|00001bb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001bd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0a 0d 0a |========|====....|
|00001bf0| 4f 53 45 72 72 20 4f 75 | 74 4c 6f 6e 67 28 20 55 |OSErr Ou|tLong( U|
|00001c00| 4c 4f 4e 47 20 76 20 29 | 0d 0a 7b 0d 0a 09 69 66 |LONG v )|..{...if|
|00001c10| 28 20 21 67 46 69 72 73 | 74 50 61 73 73 20 29 0d |( !gFirs|tPass ).|
|00001c20| 0a 09 7b 0d 0a 09 09 2a | 28 55 4c 4f 4e 47 20 2a |..{....*|(ULONG *|
|00001c30| 29 28 2a 67 4f 75 74 48 | 61 6e 64 6c 65 2b 20 67 |)(*gOutH|andle+ g|
|00001c40| 4f 75 74 49 6e 64 65 78 | 29 20 3d 20 76 3b 0d 0a |OutIndex|) = v;..|
|00001c50| 09 09 72 65 74 75 72 6e | 28 20 55 70 64 61 74 65 |..return|( Update|
|00001c60| 4f 75 74 48 64 6c 28 20 | 73 69 7a 65 6f 66 28 55 |OutHdl( |sizeof(U|
|00001c70| 4c 4f 4e 47 29 20 29 20 | 29 3b 0d 0a 09 7d 0d 0a |LONG) ) |);...}..|
|00001c80| 09 72 65 74 75 72 6e 28 | 20 6e 6f 45 72 72 20 29 |.return(| noErr )|
|00001c90| 3b 0d 0a 7d 0d 0a 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |;..}....|//======|
|00001ca0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001cd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00001ce0| 0a 2f 2f 09 41 73 73 65 | 6d 62 6c 65 4d 61 63 72 |.//.Asse|mbleMacr|
|00001cf0| 6f 0d 0a 2f 2f 0d 0a 2f | 2f 09 46 6f 75 6e 64 20 |o..//../|/.Found |
|00001d00| 61 20 6d 61 63 72 6f 20 | 61 73 20 6f 70 63 6f 64 |a macro |as opcod|
|00001d10| 65 20 6f 6e 20 6c 69 6e | 65 2c 20 65 78 70 61 6e |e on lin|e, expan|
|00001d20| 64 20 61 6e 79 20 70 61 | 72 61 6d 65 74 65 72 73 |d any pa|rameters|
|00001d30| 20 67 69 76 65 6e 0d 0a | 2f 2f 09 61 6e 64 20 63 | given..|//.and c|
|00001d40| 6f 6d 70 69 6c 65 20 74 | 68 65 20 6d 61 63 72 6f |ompile t|he macro|
|00001d50| 20 61 20 6c 69 6e 65 20 | 61 74 20 61 20 74 69 6d | a line |at a tim|
|00001d60| 65 2e 0d 0a 2f 2f 09 25 | 25 33 20 2d 20 66 69 6e |e...//.%|%3 - fin|
|00001d70| 64 20 77 61 79 20 74 6f | 20 77 61 72 6e 20 75 73 |d way to| warn us|
|00001d80| 65 72 20 61 62 6f 75 74 | 20 70 61 73 73 69 6e 67 |er about| passing|
|00001d90| 20 74 6f 6f 20 6d 61 6e | 79 20 70 61 72 6d 73 21 | too man|y parms!|
|00001da0| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00001db0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001dc0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001dd0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001de0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 0d 0a 73 74 61 |========|=....sta|
|00001df0| 74 69 63 20 4f 53 45 72 | 72 20 41 73 73 65 6d 62 |tic OSEr|r Assemb|
|00001e00| 6c 65 4d 61 63 72 6f 28 | 20 50 74 72 20 2a 73 2c |leMacro(| Ptr *s,|
|00001e10| 20 48 61 6e 64 6c 65 20 | 68 20 29 0d 0a 7b 0d 0a | Handle |h )..{..|
|00001e20| 09 69 6e 74 20 70 61 72 | 6d 63 6e 74 2c 20 73 69 |.int par|mcnt, si|
|00001e30| 7a 65 3b 0d 0a 09 72 65 | 67 69 73 74 65 72 20 50 |ze;...re|gister P|
|00001e40| 74 72 20 70 2c 20 62 75 | 66 3b 0d 0a 09 4f 53 45 |tr p, bu|f;...OSE|
|00001e50| 72 72 20 65 72 72 6f 72 | 3b 0d 0a 09 42 6f 6f 6c |rr error|;...Bool|
|00001e60| 65 61 6e 20 64 6f 6e 65 | 20 3d 20 66 61 6c 73 65 |ean done| = false|
|00001e70| 3b 0d 0a 09 50 74 72 20 | 62 75 66 65 6e 64 3b 0d |;...Ptr |bufend;.|
|00001e80| 0a 09 42 6f 6f 6c 65 61 | 6e 20 6f 6c 64 50 61 72 |..Boolea|n oldPar|
|00001e90| 6d 3b 0d 0a 09 50 74 72 | 20 73 61 76 65 42 45 20 |m;...Ptr| saveBE |
|00001ea0| 3d 20 67 42 75 66 66 65 | 72 45 6e 64 3b 0d 0a 0d |= gBuffe|rEnd;...|
|00001eb0| 0a 09 67 49 6e 4d 61 63 | 72 6f 20 3d 20 74 72 75 |..gInMac|ro = tru|
|00001ec0| 65 3b 0d 0a 09 70 61 72 | 6d 63 6e 74 20 3d 20 30 |e;...par|mcnt = 0|
|00001ed0| 3b 0d 0a 0d 0a 09 2f 2f | 20 66 69 72 73 74 2c 20 |;.....//| first, |
|00001ee0| 67 6f 20 74 68 72 6f 75 | 67 68 20 63 61 6c 6c 69 |go throu|gh calli|
|00001ef0| 6e 67 20 6c 69 6e 65 20 | 74 6f 20 67 65 74 20 70 |ng line |to get p|
|00001f00| 61 72 61 6d 65 74 65 72 | 73 20 26 20 63 6f 75 6e |arameter|s & coun|
|00001f10| 74 0d 0a 0d 0a 09 62 75 | 66 20 3d 20 2a 73 3b 0d |t.....bu|f = *s;.|
|00001f20| 0a 09 77 68 69 6c 65 28 | 20 21 64 6f 6e 65 20 29 |..while(| !done )|
|00001f30| 0d 0a 09 7b 0d 0a 09 09 | 2f 2f 20 73 65 61 72 63 |...{....|// searc|
|00001f40| 68 20 66 6f 72 20 73 74 | 61 72 74 20 6f 66 20 77 |h for st|art of w|
|00001f50| 6f 72 64 0d 0a 0d 0a 09 | 09 77 68 69 6c 65 28 20 |ord.....|.while( |
|00001f60| 2a 62 75 66 20 3c 3d 20 | 27 20 27 20 7c 7c 20 2a |*buf <= |' ' || *|
|00001f70| 62 75 66 20 3d 3d 20 27 | 2c 27 20 7c 7c 20 2a 62 |buf == '|,' || *b|
|00001f80| 75 66 20 3d 3d 20 27 3b | 27 20 7c 7c 20 2a 62 75 |uf == ';|' || *bu|
|00001f90| 66 20 3d 3d 20 27 2f 27 | 20 29 0d 0a 09 09 7b 0d |f == '/'| )....{.|
|00001fa0| 0a 09 09 09 69 66 28 20 | 2a 62 75 66 20 3d 3d 20 |....if( |*buf == |
|00001fb0| 30 78 30 41 20 7c 7c 20 | 2a 62 75 66 20 3d 3d 20 |0x0A || |*buf == |
|00001fc0| 30 78 30 44 20 7c 7c 20 | 2a 62 75 66 20 3d 3d 20 |0x0D || |*buf == |
|00001fd0| 27 3b 27 20 7c 7c 20 2a | 62 75 66 20 3d 3d 20 27 |';' || *|buf == '|
|00001fe0| 2f 27 20 7c 7c 20 62 75 | 66 20 3e 20 67 42 75 66 |/' || bu|f > gBuf|
|00001ff0| 66 65 72 45 6e 64 20 29 | 0d 0a 09 09 09 7b 0d 0a |ferEnd )|.....{..|
|00002000| 09 09 09 09 64 6f 6e 65 | 20 3d 20 74 72 75 65 3b |....done| = true;|
|00002010| 0d 0a 09 09 09 09 62 72 | 65 61 6b 3b 0d 0a 09 09 |......br|eak;....|
|00002020| 09 7d 0d 0a 09 09 09 62 | 75 66 2b 2b 3b 0d 0a 09 |.}.....b|uf++;...|
|00002030| 09 7d 0d 0a 0d 0a 09 09 | 2f 2f 20 73 65 61 72 63 |.}......|// searc|
|00002040| 68 20 66 6f 72 20 65 6e | 64 20 6f 66 20 77 6f 72 |h for en|d of wor|
|00002050| 64 20 28 63 6f 70 79 69 | 6e 67 20 69 74 20 61 73 |d (copyi|ng it as|
|00002060| 20 77 65 20 67 6f 29 0d | 0a 0d 0a 09 09 70 20 3d | we go).|.....p =|
|00002070| 20 70 61 72 6d 5b 70 61 | 72 6d 63 6e 74 5d 3b 0d | parm[pa|rmcnt];.|
|00002080| 0a 09 09 73 69 7a 65 20 | 3d 20 30 3b 0d 0a 09 09 |...size |= 0;....|
|00002090| 70 61 72 6d 55 73 65 64 | 5b 70 61 72 6d 63 6e 74 |parmUsed|[parmcnt|
|000020a0| 5d 20 3d 20 30 3b 0d 0a | 0d 0a 09 09 77 68 69 6c |] = 0;..|....whil|
|000020b0| 65 28 20 21 64 6f 6e 65 | 20 26 26 20 2a 62 75 66 |e( !done| && *buf|
|000020c0| 20 3e 3d 20 27 20 27 20 | 26 26 20 2a 62 75 66 20 | >= ' ' |&& *buf |
|000020d0| 21 3d 20 27 2c 27 20 29 | 0d 0a 09 09 7b 0d 0a 09 |!= ',' )|....{...|
|000020e0| 09 09 69 66 28 20 62 75 | 66 20 3e 20 67 42 75 66 |..if( bu|f > gBuf|
|000020f0| 66 65 72 45 6e 64 20 29 | 0d 0a 09 09 09 7b 0d 0a |ferEnd )|.....{..|
|00002100| 09 09 09 09 64 6f 6e 65 | 20 3d 20 74 72 75 65 3b |....done| = true;|
|00002110| 0d 0a 09 09 09 09 62 72 | 65 61 6b 3b 0d 0a 09 09 |......br|eak;....|
|00002120| 09 7d 0d 0a 09 09 09 65 | 6c 73 65 0d 0a 09 09 09 |.}.....e|lse.....|
|00002130| 7b 0d 0a 09 09 09 09 2a | 70 2b 2b 20 3d 20 2a 62 |{......*|p++ = *b|
|00002140| 75 66 2b 2b 3b 0d 0a 09 | 09 09 09 69 66 28 20 2b |uf++;...|...if( +|
|00002150| 2b 73 69 7a 65 20 3e 3d | 20 50 41 52 4d 53 49 5a |+size >=| PARMSIZ|
|00002160| 45 4d 41 58 20 29 0d 0a | 09 09 09 09 09 72 65 74 |EMAX )..|.....ret|
|00002170| 75 72 6e 28 20 45 52 52 | 4f 52 5f 4d 41 43 52 4f |urn( ERR|OR_MACRO|
|00002180| 50 41 52 4d 53 49 5a 45 | 20 29 3b 0d 0a 09 09 09 |PARMSIZE| );.....|
|00002190| 7d 0d 0a 09 09 7d 0d 0a | 0d 0a 09 09 2a 70 20 3d |}....}..|....*p =|
|000021a0| 20 30 3b 09 09 2f 2f 20 | 69 6e 73 75 72 65 20 6c | 0;..// |insure l|
|000021b0| 61 74 65 72 20 63 6f 70 | 69 65 73 20 77 6f 72 6b |ater cop|ies work|
|000021c0| 0d 0a 0d 0a 09 09 69 66 | 28 20 21 64 6f 6e 65 20 |......if|( !done |
|000021d0| 26 26 20 2b 2b 70 61 72 | 6d 63 6e 74 20 3e 3d 20 |&& ++par|mcnt >= |
|000021e0| 4d 41 58 50 41 52 4d 53 | 20 29 0d 0a 09 09 09 72 |MAXPARMS| ).....r|
|000021f0| 65 74 75 72 6e 28 20 45 | 52 52 4f 52 5f 4d 41 43 |eturn( E|RROR_MAC|
|00002200| 52 4f 50 41 52 4d 43 4f | 55 4e 54 20 29 3b 09 09 |ROPARMCO|UNT );..|
|00002210| 2f 2f 20 65 78 69 74 20 | 4f 4b 20 61 74 20 74 68 |// exit |OK at th|
|00002220| 69 73 20 70 6f 69 6e 74 | 20 77 2f 65 72 72 6f 72 |is point| w/error|
|00002230| 0d 0a 09 7d 0d 0a 0d 0a | 09 64 6f 6e 65 20 3d 20 |...}....|.done = |
|00002240| 66 61 6c 73 65 3b 0d 0a | 09 65 72 72 6f 72 20 3d |false;..|.error =|
|00002250| 20 4e 4f 45 52 52 3b 0d | 0a 0d 0a 09 2f 2f 20 6e | NOERR;.|....// n|
|00002260| 6f 77 20 67 6f 20 74 68 | 72 6f 75 67 68 20 6d 61 |ow go th|rough ma|
|00002270| 63 72 6f 20 6c 69 6e 65 | 20 62 79 20 6c 69 6e 65 |cro line| by line|
|00002280| 2c 20 73 75 62 73 74 69 | 74 69 6e 67 20 70 61 72 |, substi|ting par|
|00002290| 6d 73 20 26 20 61 73 73 | 65 6d 62 6c 69 6e 67 20 |ms & ass|embling |
|000022a0| 6c 69 6e 65 73 20 6f 6e | 65 20 61 74 20 61 20 74 |lines on|e at a t|
|000022b0| 69 6d 65 0d 0a 0d 0a 09 | 48 4c 6f 63 6b 28 20 68 |ime.....|HLock( h|
|000022c0| 20 29 3b 0d 0a 09 70 20 | 3d 20 2a 68 3b 0d 0a 09 | );...p |= *h;...|
|000022d0| 62 75 66 65 6e 64 20 3d | 20 70 20 2b 20 47 65 74 |bufend =| p + Get|
|000022e0| 48 61 6e 64 6c 65 53 69 | 7a 65 28 20 68 20 29 3b |HandleSi|ze( h );|
|000022f0| 0d 0a 0d 0a 09 77 68 69 | 6c 65 28 20 21 64 6f 6e |.....whi|le( !don|
|00002300| 65 20 26 26 20 21 65 72 | 72 6f 72 20 29 0d 0a 09 |e && !er|ror )...|
|00002310| 7b 0d 0a 09 09 69 6e 74 | 20 70 61 72 6d 6e 75 6d |{....int| parmnum|
|00002320| 2c 20 6e 65 78 74 20 3d | 20 66 61 6c 73 65 3b 0d |, next =| false;.|
|00002330| 0a 0d 0a 09 09 62 75 66 | 20 3d 20 67 4d 61 63 72 |.....buf| = gMacr|
|00002340| 6f 4c 69 6e 65 50 74 72 | 3b 0d 0a 09 09 77 68 69 |oLinePtr|;....whi|
|00002350| 6c 65 28 20 21 6e 65 78 | 74 20 26 26 20 21 65 72 |le( !nex|t && !er|
|00002360| 72 6f 72 20 29 09 09 2f | 2f 20 65 78 70 61 6e 64 |ror )../|/ expand|
|00002370| 20 61 20 6c 69 6e 65 0d | 0a 09 09 7b 0d 0a 09 09 | a line.|...{....|
|00002380| 09 77 68 69 6c 65 28 20 | 2a 70 20 21 3d 20 27 7b |.while( |*p != '{|
|00002390| 27 20 26 26 20 2a 70 20 | 21 3d 20 27 5c 5c 27 20 |' && *p |!= '\\' |
|000023a0| 26 26 20 2a 70 20 21 3d | 20 30 78 30 41 20 26 26 |&& *p !=| 0x0A &&|
|000023b0| 20 2a 70 20 21 3d 20 30 | 78 30 44 20 26 26 20 2a | *p != 0|x0D && *|
|000023c0| 70 20 21 3d 20 27 3b 27 | 20 26 26 20 70 20 3c 3d |p != ';'| && p <=|
|000023d0| 20 62 75 66 65 6e 64 29 | 0d 0a 09 09 09 09 2a 62 | bufend)|......*b|
|000023e0| 75 66 2b 2b 20 3d 20 2a | 70 2b 2b 3b 0d 0a 0d 0a |uf++ = *|p++;....|
|000023f0| 09 09 09 69 66 28 20 21 | 21 28 6f 6c 64 50 61 72 |...if( !|!(oldPar|
|00002400| 6d 20 3d 20 28 2a 70 20 | 3d 3d 20 27 7b 27 29 29 |m = (*p |== '{'))|
|00002410| 20 7c 7c 20 2a 70 20 3d | 3d 20 27 5c 5c 27 20 29 | || *p =|= '\\' )|
|00002420| 09 09 2f 2f 20 66 6f 75 | 6e 64 20 6d 61 63 72 6f |..// fou|nd macro|
|00002430| 20 28 6f 72 20 45 4f 4c | 29 3f 0d 0a 09 09 09 7b | (or EOL|)?.....{|
|00002440| 0d 0a 09 09 09 09 67 70 | 45 72 72 57 6f 72 64 20 |......gp|ErrWord |
|00002450| 3d 20 70 2b 2b 3b 0d 0a | 09 09 09 09 70 61 72 6d |= p++;..|....parm|
|00002460| 6e 75 6d 20 3d 20 28 2a | 70 2b 2b 29 20 2d 20 27 |num = (*|p++) - '|
|00002470| 31 27 3b 09 2f 2f 20 67 | 65 74 20 70 61 72 6d 20 |1';.// g|et parm |
|00002480| 23 0d 0a 09 09 09 09 69 | 66 28 20 28 6f 6c 64 50 |#......i|f( (oldP|
|00002490| 61 72 6d 20 26 26 20 2a | 70 2b 2b 20 21 3d 20 27 |arm && *|p++ != '|
|000024a0| 7d 27 29 20 7c 7c 20 70 | 61 72 6d 6e 75 6d 20 3c |}') || p|armnum <|
|000024b0| 20 2d 31 20 7c 7c 20 70 | 61 72 6d 6e 75 6d 20 3e | -1 || p|armnum >|
|000024c0| 3d 20 70 61 72 6d 63 6e | 74 20 29 0d 0a 09 09 09 |= parmcn|t ).....|
|000024d0| 09 09 65 72 72 6f 72 20 | 3d 20 45 52 52 4f 52 5f |..error |= ERROR_|
|000024e0| 4d 41 43 52 4f 50 41 52 | 41 4d 3b 09 09 2f 2f 20 |MACROPAR|AM;..// |
|000024f0| 69 6e 73 75 72 65 20 6c | 65 67 61 6c 20 70 61 72 |insure l|egal par|
|00002500| 6d 0d 0a 09 09 09 09 65 | 6c 73 65 20 69 66 28 20 |m......e|lse if( |
|00002510| 21 70 61 72 6d 5b 70 61 | 72 6d 6e 75 6d 5d 20 29 |!parm[pa|rmnum] )|
|00002520| 0d 0a 09 09 09 09 09 65 | 72 72 6f 72 20 3d 20 45 |.......e|rror = E|
|00002530| 52 52 4f 52 5f 4d 49 53 | 53 49 4e 47 50 41 52 41 |RROR_MIS|SINGPARA|
|00002540| 4d 3b 09 2f 2f 20 26 20 | 74 68 61 74 20 72 65 71 |M;.// & |that req|
|00002550| 2e 20 70 61 72 61 6d 20 | 65 78 69 73 74 73 21 0d |. param |exists!.|
|00002560| 0a 09 09 09 09 65 6c 73 | 65 0d 0a 09 09 09 09 7b |.....els|e......{|
|00002570| 0d 0a 09 09 09 09 09 69 | 66 28 20 70 61 72 6d 6e |.......i|f( parmn|
|00002580| 75 6d 20 3d 3d 20 2d 31 | 20 29 0d 0a 09 09 09 09 |um == -1| )......|
|00002590| 09 7b 0d 0a 09 09 09 09 | 09 09 2a 62 75 66 2b 2b |.{......|..*buf++|
|000025a0| 20 3d 20 27 30 27 20 2b | 20 70 61 72 6d 63 6e 74 | = '0' +| parmcnt|
|000025b0| 3b 09 2f 2f 20 73 75 62 | 73 74 69 74 75 74 65 20 |;.// sub|stitute |
|000025c0| 23 20 6f 66 20 70 61 72 | 6d 73 0d 0a 09 09 09 09 |# of par|ms......|
|000025d0| 09 7d 0d 0a 09 09 09 09 | 09 65 6c 73 65 0d 0a 09 |.}......|.else...|
|000025e0| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 09 70 61 72 |....{...|.....par|
|000025f0| 6d 55 73 65 64 5b 70 61 | 72 6d 6e 75 6d 5d 20 3d |mUsed[pa|rmnum] =|
|00002600| 20 31 3b 0d 0a 09 09 09 | 09 09 09 73 74 72 63 70 | 1;.....|...strcp|
|00002610| 79 28 20 62 75 66 2c 20 | 70 61 72 6d 5b 70 61 72 |y( buf, |parm[par|
|00002620| 6d 6e 75 6d 5d 20 29 3b | 09 2f 2f 20 63 6f 70 79 |mnum] );|.// copy|
|00002630| 20 70 61 72 6d 20 26 20 | 61 64 76 61 6e 63 65 20 | parm & |advance |
|00002640| 70 6f 69 6e 74 65 72 0d | 0a 09 09 09 09 09 09 77 |pointer.|.......w|
|00002650| 68 69 6c 65 28 20 2a 62 | 75 66 20 29 0d 0a 09 09 |hile( *b|uf )....|
|00002660| 09 09 09 09 09 62 75 66 | 2b 2b 3b 0d 0a 09 09 09 |.....buf|++;.....|
|00002670| 09 09 7d 0d 0a 09 09 09 | 09 7d 0d 0a 09 09 09 7d |..}.....|.}.....}|
|00002680| 0d 0a 09 09 09 65 6c 73 | 65 0d 0a 09 09 09 7b 0d |.....els|e.....{.|
|00002690| 0a 09 09 09 09 2a 62 75 | 66 2b 2b 20 3d 20 27 5c |.....*bu|f++ = '\|
|000026a0| 6e 27 3b 09 2f 2f 20 6e | 65 65 64 20 61 6e 20 45 |n';.// n|eed an E|
|000026b0| 4f 4c 20 66 6f 72 20 61 | 73 73 65 6d 62 6c 79 0d |OL for a|ssembly.|
|000026c0| 0a 09 09 09 09 6e 65 78 | 74 20 3d 20 74 72 75 65 |.....nex|t = true|
|000026d0| 3b 0d 0a 09 09 09 7d 0d | 0a 09 09 7d 0d 0a 0d 0a |;.....}.|...}....|
|000026e0| 09 09 69 66 28 20 21 65 | 72 72 6f 72 20 29 09 09 |..if( !e|rror )..|
|000026f0| 2f 2f 20 64 6f 6e 65 20 | 65 78 70 61 6e 64 69 6e |// done |expandin|
|00002700| 67 20 6c 69 6e 65 2c 20 | 74 69 6d 65 20 74 6f 20 |g line, |time to |
|00002710| 61 73 73 65 6d 62 6c 65 | 20 69 74 0d 0a 09 09 7b |assemble| it....{|
|00002720| 0d 0a 09 09 09 50 74 72 | 20 74 62 75 66 20 3d 20 |.....Ptr| tbuf = |
|00002730| 70 3b 0d 0a 0d 0a 09 09 | 09 67 42 75 66 66 65 72 |p;......|.gBuffer|
|00002740| 45 6e 64 20 3d 20 62 75 | 66 65 6e 64 3b 0d 0a 09 |End = bu|fend;...|
|00002750| 09 09 64 6f 6e 65 20 3d | 20 28 4e 65 78 74 4c 69 |..done =| (NextLi|
|00002760| 6e 65 28 20 26 74 62 75 | 66 20 29 20 21 3d 20 4e |ne( &tbu|f ) != N|
|00002770| 4f 45 52 52 20 29 3b 09 | 09 2f 2f 20 61 64 76 61 |OERR );.|.// adva|
|00002780| 6e 63 65 20 61 20 6c 69 | 6e 65 20 69 6e 20 6d 61 |nce a li|ne in ma|
|00002790| 63 72 6f 0d 0a 09 09 09 | 70 20 3d 20 74 62 75 66 |cro.....|p = tbuf|
|000027a0| 3b 0d 0a 09 09 09 74 62 | 75 66 20 3d 20 67 4d 61 |;.....tb|uf = gMa|
|000027b0| 63 72 6f 4c 69 6e 65 50 | 74 72 3b 0d 0a 09 09 09 |croLineP|tr;.....|
|000027c0| 67 42 75 66 66 65 72 45 | 6e 64 20 3d 20 74 62 75 |gBufferE|nd = tbu|
|000027d0| 66 20 2b 20 73 74 72 6c | 65 6e 28 74 62 75 66 29 |f + strl|en(tbuf)|
|000027e0| 3b 0d 0a 09 09 09 65 72 | 72 6f 72 20 3d 20 41 73 |;.....er|ror = As|
|000027f0| 73 65 6d 62 6c 65 4c 69 | 6e 65 28 20 26 74 62 75 |sembleLi|ne( &tbu|
|00002800| 66 20 29 3b 09 2f 2f 20 | 62 75 66 20 75 73 65 64 |f );.// |buf used|
|00002810| 20 66 6f 72 20 22 50 74 | 72 20 2a 22 20 72 65 71 | for "Pt|r *" req|
|00002820| 75 69 72 65 6d 65 6e 74 | 0d 0a 09 09 7d 0d 0a 09 |uirement|....}...|
|00002830| 7d 0d 0a 0d 0a 09 2f 2f | 20 4e 6f 77 2c 20 67 6f |}.....//| Now, go|
|00002840| 74 20 74 68 72 75 20 61 | 6e 64 20 6c 6f 6f 6b 20 |t thru a|nd look |
|00002850| 66 6f 72 20 61 6e 79 20 | 75 6e 75 73 65 64 20 70 |for any |unused p|
|00002860| 61 72 6d 73 21 0d 0a 0d | 0a 09 69 66 28 20 67 46 |arms!...|..if( gF|
|00002870| 69 72 73 74 50 61 73 73 | 20 29 09 2f 2f 20 6e 6f |irstPass| ).// no|
|00002880| 20 6e 65 65 64 20 74 6f | 20 77 61 72 6e 20 74 77 | need to| warn tw|
|00002890| 69 63 65 21 0d 0a 09 09 | 77 68 69 6c 65 28 20 70 |ice!....|while( p|
|000028a0| 61 72 6d 63 6e 74 2d 2d | 20 29 0d 0a 09 09 7b 0d |armcnt--| )....{.|
|000028b0| 0a 09 09 09 69 66 28 20 | 21 70 61 72 6d 55 73 65 |....if( |!parmUse|
|000028c0| 64 5b 70 61 72 6d 63 6e | 74 5d 20 29 0d 0a 09 09 |d[parmcn|t] )....|
|000028d0| 09 7b 0d 0a 09 09 09 09 | 67 70 45 72 72 57 6f 72 |.{......|gpErrWor|
|000028e0| 64 20 3d 20 70 61 72 6d | 5b 70 61 72 6d 63 6e 74 |d = parm|[parmcnt|
|000028f0| 5d 3b 0d 0a 09 09 09 09 | 67 42 75 66 66 65 72 45 |];......|gBufferE|
|00002900| 6e 64 20 3d 20 67 70 45 | 72 72 57 6f 72 64 20 2b |nd = gpE|rrWord +|
|00002910| 20 73 74 72 6c 65 6e 28 | 20 67 70 45 72 72 57 6f | strlen(| gpErrWo|
|00002920| 72 64 20 29 3b 0d 0a 09 | 09 09 09 65 72 72 6f 72 |rd );...|...error|
|00002930| 20 3d 20 45 72 72 6f 72 | 4d 65 73 73 61 67 65 28 | = Error|Message(|
|00002940| 20 57 41 52 4e 49 4e 47 | 5f 55 4e 55 53 45 44 50 | WARNING|_UNUSEDP|
|00002950| 41 52 41 4d 2c 20 65 72 | 72 6f 72 2c 20 67 4c 69 |ARAM, er|ror, gLi|
|00002960| 6e 65 2c 20 6b 57 61 72 | 6e 69 6e 67 20 29 3b 09 |ne, kWar|ning );.|
|00002970| 2f 2f 20 65 78 74 72 61 | 73 20 61 72 65 20 6a 75 |// extra|s are ju|
|00002980| 73 74 20 77 61 72 6e 69 | 6e 67 73 21 0d 0a 09 09 |st warni|ngs!....|
|00002990| 09 7d 0d 0a 09 09 7d 0d | 0a 0d 0a 09 67 42 75 66 |.}....}.|....gBuf|
|000029a0| 66 65 72 45 6e 64 20 3d | 20 73 61 76 65 42 45 3b |ferEnd =| saveBE;|
|000029b0| 0d 0a 09 67 49 6e 4d 61 | 63 72 6f 20 3d 20 66 61 |...gInMa|cro = fa|
|000029c0| 6c 73 65 3b 0d 0a 09 72 | 65 74 75 72 6e 28 20 65 |lse;...r|eturn( e|
|000029d0| 72 72 6f 72 20 29 3b 0d | 0a 7d 0d 0a 0d 0a 2f 2f |rror );.|.}....//|
|000029e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000029f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a20| 3d 3d 3d 3d 3d 0d 0a 2f | 2f 09 41 73 73 65 6d 62 |=====../|/.Assemb|
|00002a30| 6c 65 4c 69 6e 65 0d 0a | 2f 2f 0d 0a 2f 2f 09 47 |leLine..|//..//.G|
|00002a40| 69 76 65 6e 20 61 20 70 | 6f 69 6e 74 65 72 20 74 |iven a p|ointer t|
|00002a50| 6f 20 61 20 6c 69 6e 65 | 2c 20 61 73 73 65 6d 62 |o a line|, assemb|
|00002a60| 6c 65 20 69 74 21 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |le it!..|//======|
|00002a70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002aa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00002ab0| 0a 0d 0a 4f 53 45 72 72 | 20 41 73 73 65 6d 62 6c |...OSErr| Assembl|
|00002ac0| 65 4c 69 6e 65 28 20 50 | 74 72 20 2a 73 72 63 20 |eLine( P|tr *src |
|00002ad0| 29 0d 0a 7b 0d 0a 09 4f | 53 45 72 72 20 09 65 72 |)..{...O|SErr .er|
|00002ae0| 72 6f 72 3b 0d 0a 09 63 | 68 61 72 09 09 77 6f 72 |ror;...c|har..wor|
|00002af0| 64 62 75 66 5b 56 41 52 | 53 49 5a 45 2b 31 5d 2c |dbuf[VAR|SIZE+1],|
|00002b00| 20 75 70 70 65 72 62 75 | 66 5b 56 41 52 53 49 5a | upperbu|f[VARSIZ|
|00002b10| 45 2b 31 5d 3b 0d 0a 09 | 55 4c 4f 4e 47 09 09 76 |E+1];...|ULONG..v|
|00002b20| 61 6c 75 65 3b 0d 0a 0d | 0a 09 69 66 28 20 2a 2a |alue;...|..if( **|
|00002b30| 73 72 63 20 3d 3d 20 27 | 20 27 20 7c 7c 20 2a 2a |src == '| ' || **|
|00002b40| 73 72 63 20 3d 3d 20 27 | 5c 74 27 20 29 09 09 2f |src == '|\t' )../|
|00002b50| 2f 69 66 20 6e 6f 20 6c | 61 62 65 6c 2c 20 74 68 |/if no l|abel, th|
|00002b60| 65 6e 20 70 73 65 75 64 | 6f 21 0d 0a 09 09 67 53 |en pseud|o!....gS|
|00002b70| 74 61 74 65 20 3d 20 4c | 49 4e 45 5f 4f 50 43 4f |tate = L|INE_OPCO|
|00002b80| 44 45 3b 0d 0a 09 65 6c | 73 65 0d 0a 09 09 67 53 |DE;...el|se....gS|
|00002b90| 74 61 74 65 20 3d 20 4c | 49 4e 45 5f 42 45 47 49 |tate = L|INE_BEGI|
|00002ba0| 4e 3b 0d 0a 0d 0a 09 2f | 2f 20 6d 61 6b 65 20 61 |N;...../|/ make a|
|00002bb0| 20 66 65 77 20 61 73 73 | 75 6d 70 74 69 6f 6e 73 | few ass|umptions|
|00002bc0| 0d 0a 0d 0a 09 67 4e 65 | 77 4c 6f 63 61 6c 47 72 |.....gNe|wLocalGr|
|00002bd0| 6f 75 70 20 3d 20 74 72 | 75 65 3b 0d 0a 09 67 4c |oup = tr|ue;...gL|
|00002be0| 61 62 65 6c 5b 30 5d 20 | 3d 20 30 3b 0d 0a 09 67 |abel[0] |= 0;...g|
|00002bf0| 4c 61 62 65 6c 56 61 6c | 75 65 20 3d 20 67 50 43 |LabelVal|ue = gPC|
|00002c00| 3b 0d 0a 0d 0a 09 64 6f | 09 2f 2f 20 68 61 6e 64 |;.....do|.// hand|
|00002c10| 6c 65 20 6c 69 6e 65 20 | 74 69 6c 6c 20 64 6f 6e |le line |till don|
|00002c20| 65 0d 0a 09 7b 0d 0a 09 | 09 65 72 72 6f 72 20 3d |e...{...|.error =|
|00002c30| 20 4e 65 78 74 57 6f 72 | 64 28 20 73 72 63 2c 20 | NextWor|d( src, |
|00002c40| 77 6f 72 64 62 75 66 2c | 20 56 41 52 53 49 5a 45 |wordbuf,| VARSIZE|
|00002c50| 20 29 3b 0d 0a 0d 0a 09 | 09 69 66 28 20 21 65 72 | );.....|.if( !er|
|00002c60| 72 6f 72 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 55 |ror )...|.{.....U|
|00002c70| 70 70 65 72 43 61 73 65 | 28 20 77 6f 72 64 62 75 |pperCase|( wordbu|
|00002c80| 66 2c 20 75 70 70 65 72 | 62 75 66 20 29 3b 09 09 |f, upper|buf );..|
|00002c90| 2f 2f 20 70 73 65 75 64 | 6f 73 20 63 61 73 65 20 |// pseud|os case |
|00002ca0| 49 4e 73 65 6e 73 69 74 | 69 76 65 2c 20 6d 61 63 |INsensit|ive, mac|
|00002cb0| 72 6f 73 20 63 61 73 65 | 20 53 45 4e 53 49 54 49 |ros case| SENSITI|
|00002cc0| 56 45 21 0d 0a 0d 0a 09 | 09 09 69 66 28 20 68 61 |VE!.....|..if( ha|
|00002cd0| 73 68 5f 53 65 61 72 63 | 68 28 20 67 50 73 65 75 |sh_Searc|h( gPseu|
|00002ce0| 64 6f 54 62 6c 48 64 6c | 2c 20 75 70 70 65 72 62 |doTblHdl|, upperb|
|00002cf0| 75 66 2c 20 26 76 61 6c | 75 65 20 29 20 3d 3d 20 |uf, &val|ue ) == |
|00002d00| 74 72 75 65 20 29 0d 0a | 09 09 09 7b 0d 0a 09 09 |true )..|...{....|
|00002d10| 09 09 69 66 28 20 67 53 | 74 61 74 65 20 3c 20 4c |..if( gS|tate < L|
|00002d20| 49 4e 45 5f 4f 50 45 52 | 41 4e 44 20 29 0d 0a 09 |INE_OPER|AND )...|
|00002d30| 09 09 09 7b 0d 0a 09 09 | 09 09 09 65 72 72 6f 72 |...{....|...error|
|00002d40| 20 3d 20 70 48 61 6e 64 | 6c 65 72 5b 76 61 6c 75 | = pHand|ler[valu|
|00002d50| 65 5d 28 20 73 72 63 20 | 29 3b 09 2f 2f 20 63 61 |e]( src |);.// ca|
|00002d60| 6c 6c 20 70 73 65 75 64 | 6f 20 68 61 6e 64 6c 65 |ll pseud|o handle|
|00002d70| 72 0d 0a 09 09 09 09 7d | 0d 0a 09 09 09 09 65 6c |r......}|......el|
|00002d80| 73 65 20 69 66 28 20 67 | 46 69 72 73 74 50 61 73 |se if( g|FirstPas|
|00002d90| 73 20 29 0d 0a 09 09 09 | 09 09 65 72 72 6f 72 20 |s ).....|..error |
|00002da0| 3d 20 45 52 52 4f 52 5f | 53 59 4e 54 41 58 3b 0d |= ERROR_|SYNTAX;.|
|00002db0| 0a 0d 0a 09 09 09 09 67 | 53 74 61 74 65 20 3d 20 |.......g|State = |
|00002dc0| 4c 49 4e 45 5f 44 4f 4e | 45 3b 0d 0a 09 09 09 7d |LINE_DON|E;.....}|
|00002dd0| 0d 0a 09 09 09 65 6c 73 | 65 20 69 66 28 20 68 61 |.....els|e if( ha|
|00002de0| 73 68 5f 53 65 61 72 63 | 68 28 20 67 4d 61 63 72 |sh_Searc|h( gMacr|
|00002df0| 6f 54 62 6c 48 64 6c 2c | 20 77 6f 72 64 62 75 66 |oTblHdl,| wordbuf|
|00002e00| 2c 20 26 76 61 6c 75 65 | 20 29 20 3d 3d 20 74 72 |, &value| ) == tr|
|00002e10| 75 65 20 29 0d 0a 09 09 | 09 7b 0d 0a 09 09 09 09 |ue )....|.{......|
|00002e20| 69 66 28 20 67 53 74 61 | 74 65 20 3d 3d 20 4c 49 |if( gSta|te == LI|
|00002e30| 4e 45 5f 4f 50 43 4f 44 | 45 20 29 0d 0a 09 09 09 |NE_OPCOD|E ).....|
|00002e40| 09 7b 0d 0a 09 09 09 09 | 09 65 72 72 6f 72 20 3d |.{......|.error =|
|00002e50| 20 41 73 73 65 6d 62 6c | 65 4d 61 63 72 6f 28 20 | Assembl|eMacro( |
|00002e60| 73 72 63 2c 20 28 48 61 | 6e 64 6c 65 29 76 61 6c |src, (Ha|ndle)val|
|00002e70| 75 65 20 29 3b 09 2f 2f | 20 63 61 6c 6c 20 6d 61 |ue );.//| call ma|
|00002e80| 63 72 6f 20 61 73 73 65 | 6d 62 6c 65 72 21 0d 0a |cro asse|mbler!..|
|00002e90| 09 09 09 09 7d 0d 0a 09 | 09 09 09 65 6c 73 65 20 |....}...|...else |
|00002ea0| 69 66 28 20 67 46 69 72 | 73 74 50 61 73 73 20 29 |if( gFir|stPass )|
|00002eb0| 0d 0a 09 09 09 09 09 65 | 72 72 6f 72 20 3d 20 45 |.......e|rror = E|
|00002ec0| 52 52 4f 52 5f 53 59 4e | 54 41 58 3b 0d 0a 0d 0a |RROR_SYN|TAX;....|
|00002ed0| 09 09 09 09 67 53 74 61 | 74 65 20 3d 20 4c 49 4e |....gSta|te = LIN|
|00002ee0| 45 5f 44 4f 4e 45 3b 0d | 0a 0d 0a 09 09 09 7d 0d |E_DONE;.|......}.|
|00002ef0| 0a 09 09 09 65 6c 73 65 | 0d 0a 09 09 09 7b 0d 0a |....else|.....{..|
|00002f00| 09 09 09 09 73 77 69 74 | 63 68 28 20 67 53 74 61 |....swit|ch( gSta|
|00002f10| 74 65 20 29 0d 0a 09 09 | 09 09 7b 0d 0a 09 09 09 |te )....|..{.....|
|00002f20| 09 09 63 61 73 65 20 4c | 49 4e 45 5f 42 45 47 49 |..case L|INE_BEGI|
|00002f30| 4e 3a 0d 0a 09 09 09 09 | 09 09 73 74 72 63 70 79 |N:......|..strcpy|
|00002f40| 28 20 67 4c 61 62 65 6c | 2c 20 77 6f 72 64 62 75 |( gLabel|, wordbu|
|00002f50| 66 20 29 3b 09 2f 2f 20 | 63 6f 70 79 20 6c 61 62 |f );.// |copy lab|
|00002f60| 65 6c 20 66 6f 72 20 6c | 61 74 65 72 20 61 73 73 |el for l|ater ass|
|00002f70| 69 67 6e 6d 65 6e 74 0d | 0a 09 09 09 09 09 09 67 |ignment.|.......g|
|00002f80| 53 74 61 74 65 20 3d 20 | 4c 49 4e 45 5f 4f 50 43 |State = |LINE_OPC|
|00002f90| 4f 44 45 3b 0d 0a 09 09 | 09 09 09 09 62 72 65 61 |ODE;....|....brea|
|00002fa0| 6b 3b 0d 0a 0d 0a 09 09 | 09 09 09 63 61 73 65 20 |k;......|...case |
|00002fb0| 4c 49 4e 45 5f 4f 50 43 | 4f 44 45 3a 0d 0a 09 09 |LINE_OPC|ODE:....|
|00002fc0| 09 09 09 09 69 66 28 20 | 67 46 69 72 73 74 50 61 |....if( |gFirstPa|
|00002fd0| 73 73 20 29 0d 0a 09 09 | 09 09 09 09 09 65 72 72 |ss )....|.....err|
|00002fe0| 6f 72 20 3d 20 45 52 52 | 4f 52 5f 4e 4f 53 55 43 |or = ERR|OR_NOSUC|
|00002ff0| 48 4d 41 43 52 4f 3b 0d | 0a 09 09 09 09 09 09 67 |HMACRO;.|.......g|
|00003000| 53 74 61 74 65 20 3d 20 | 4c 49 4e 45 5f 44 4f 4e |State = |LINE_DON|
|00003010| 45 3b 0d 0a 09 09 09 09 | 09 09 62 72 65 61 6b 3b |E;......|..break;|
|00003020| 0d 0a 0d 0a 09 09 09 09 | 09 64 65 66 61 75 6c 74 |........|.default|
|00003030| 3a 0d 0a 09 09 09 09 09 | 09 69 66 28 20 67 46 69 |:.......|.if( gFi|
|00003040| 72 73 74 50 61 73 73 20 | 29 0d 0a 09 09 09 09 09 |rstPass |).......|
|00003050| 09 09 65 72 72 6f 72 20 | 3d 20 45 52 52 4f 52 5f |..error |= ERROR_|
|00003060| 53 59 4e 54 41 58 3b 0d | 0a 09 09 09 09 09 09 67 |SYNTAX;.|.......g|
|00003070| 53 74 61 74 65 20 3d 20 | 4c 49 4e 45 5f 44 4f 4e |State = |LINE_DON|
|00003080| 45 3b 0d 0a 09 09 09 09 | 09 09 62 72 65 61 6b 3b |E;......|..break;|
|00003090| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 7d 0d 0a 09 |......}.|....}...|
|000030a0| 09 7d 0d 0a 09 7d 20 77 | 68 69 6c 65 28 20 21 65 |.}...} w|hile( !e|
|000030b0| 72 72 6f 72 20 26 26 20 | 67 53 74 61 74 65 20 21 |rror && |gState !|
|000030c0| 3d 20 4c 49 4e 45 5f 44 | 4f 4e 45 20 29 3b 0d 0a |= LINE_D|ONE );..|
|000030d0| 0d 0a 09 69 66 28 20 65 | 72 72 6f 72 20 3d 3d 20 |...if( e|rror == |
|000030e0| 45 52 52 4f 52 5f 45 4f | 4c 20 29 0d 0a 09 09 65 |ERROR_EO|L )....e|
|000030f0| 72 72 6f 72 20 3d 20 4e | 4f 45 52 52 3b 0d 0a 0d |rror = N|OERR;...|
|00003100| 0a 09 2f 2f 20 63 68 65 | 63 6b 20 74 6f 20 73 65 |..// che|ck to se|
|00003110| 65 20 69 66 20 77 65 27 | 76 65 20 67 6f 74 20 61 |e if we'|ve got a|
|00003120| 20 6c 61 62 65 6c 20 74 | 6f 20 61 64 64 20 74 6f | label t|o add to|
|00003130| 20 73 79 6d 62 6f 6c 20 | 74 61 62 6c 65 0d 0a 0d | symbol |table...|
|00003140| 0a 09 69 66 28 20 21 65 | 72 72 6f 72 20 26 26 20 |..if( !e|rror && |
|00003150| 67 4c 61 62 65 6c 5b 30 | 5d 20 29 0d 0a 09 7b 0d |gLabel[0|] )...{.|
|00003160| 0a 09 09 69 66 28 20 67 | 4c 61 62 65 6c 5b 30 5d |...if( g|Label[0]|
|00003170| 20 3d 3d 20 67 50 72 65 | 66 73 2e 6c 6f 63 61 6c | == gPre|fs.local|
|00003180| 20 29 09 2f 2f 20 22 6c | 6f 63 61 6c 22 20 64 65 | ).// "l|ocal" de|
|00003190| 66 69 6e 69 74 69 6f 6e | 3f 0d 0a 09 09 09 73 70 |finition|?.....sp|
|000031a0| 72 69 6e 74 66 28 20 67 | 4c 61 62 65 6c 2c 20 22 |rintf( g|Label, "|
|000031b0| 25 73 25 64 22 2c 20 67 | 4c 61 62 65 6c 2c 20 67 |%s%d", g|Label, g|
|000031c0| 47 72 6f 75 70 20 29 3b | 0d 0a 09 09 65 6c 73 65 |Group );|....else|
|000031d0| 20 69 66 28 20 67 4e 65 | 77 4c 6f 63 61 6c 47 72 | if( gNe|wLocalGr|
|000031e0| 6f 75 70 20 29 09 09 09 | 09 09 2f 2f 20 66 6c 61 |oup )...|..// fla|
|000031f0| 67 20 66 6f 72 20 6e 6f | 6e 2d 6c 6f 63 61 6c 20 |g for no|n-local |
|00003200| 67 72 6f 75 70 20 75 70 | 64 61 74 65 0d 0a 09 09 |group up|date....|
|00003210| 09 67 47 72 6f 75 70 2b | 2b 3b 0d 0a 0d 0a 09 09 |.gGroup+|+;......|
|00003220| 69 66 28 20 67 46 69 72 | 73 74 50 61 73 73 20 29 |if( gFir|stPass )|
|00003230| 0d 0a 09 09 09 65 72 72 | 6f 72 20 3d 20 68 61 73 |.....err|or = has|
|00003240| 68 5f 41 64 64 28 20 67 | 53 79 6d 54 62 6c 48 64 |h_Add( g|SymTblHd|
|00003250| 6c 2c 20 67 4c 61 62 65 | 6c 2c 20 67 4c 61 62 65 |l, gLabe|l, gLabe|
|00003260| 6c 56 61 6c 75 65 20 29 | 3b 0d 0a 09 09 65 6c 73 |lValue )|;....els|
|00003270| 65 0d 0a 09 09 09 65 72 | 72 6f 72 20 3d 20 68 61 |e.....er|ror = ha|
|00003280| 73 68 5f 55 70 64 61 74 | 65 28 20 67 53 79 6d 54 |sh_Updat|e( gSymT|
|00003290| 62 6c 48 64 6c 2c 20 67 | 4c 61 62 65 6c 2c 20 67 |blHdl, g|Label, g|
|000032a0| 4c 61 62 65 6c 56 61 6c | 75 65 20 29 3b 0d 0a 09 |LabelVal|ue );...|
|000032b0| 7d 0d 0a 09 69 66 28 20 | 65 72 72 6f 72 20 26 26 |}...if( |error &&|
|000032c0| 20 65 72 72 6f 72 20 3c | 20 45 52 52 4f 52 5f 46 | error <| ERROR_F|
|000032d0| 41 54 41 4c 29 0d 0a 09 | 09 65 72 72 6f 72 20 3d |ATAL)...|.error =|
|000032e0| 20 45 72 72 6f 72 4d 65 | 73 73 61 67 65 28 20 65 | ErrorMe|ssage( e|
|000032f0| 72 72 6f 72 2c 20 65 72 | 72 6f 72 2c 20 67 4c 69 |rror, er|ror, gLi|
|00003300| 6e 65 2c 20 6b 45 72 72 | 6f 72 20 29 3b 09 2f 2f |ne, kErr|or );.//|
|00003310| 20 72 65 70 6f 72 74 20 | 6e 6f 6e 2d 66 61 74 61 | report |non-fata|
|00003320| 6c 20 65 72 72 6f 72 73 | 20 26 20 63 6f 6e 74 69 |l errors| & conti|
|00003330| 6e 75 65 20 6f 6e 0d 0a | 0d 0a 09 72 65 74 75 72 |nue on..|...retur|
|00003340| 6e 28 20 65 72 72 6f 72 | 20 29 3b 0d 0a 7d 0d 0a |n( error| );..}..|
|00003350| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00003360| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003380| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003390| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 2f 2f 09 41 73 |========|=..//.As|
|000033a0| 73 65 6d 62 6c 65 54 65 | 78 74 0d 0a 2f 2f 0d 0a |sembleTe|xt..//..|
|000033b0| 2f 2f 09 52 65 63 75 72 | 73 69 76 65 20 65 6e 74 |//.Recur|sive ent|
|000033c0| 72 79 20 74 6f 20 61 73 | 73 65 6d 62 6c 65 20 61 |ry to as|semble a|
|000033d0| 20 66 69 6c 65 20 28 61 | 6c 6c 6f 77 73 20 75 6e | file (a|llows un|
|000033e0| 6c 69 6d 69 74 65 64 20 | 23 69 6e 63 6c 75 64 65 |limited |#include|
|000033f0| 73 2e 2e 2e 29 0d 0a 2f | 2f 3d 3d 3d 3d 3d 3d 3d |s...)../|/=======|
|00003400| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003420| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0a |========|======..|
|00003440| 0d 0a 4f 53 45 72 72 20 | 41 73 73 65 6d 62 6c 65 |..OSErr |Assemble|
|00003450| 54 65 78 74 28 20 50 74 | 72 20 73 72 63 2c 20 53 |Text( Pt|r src, S|
|00003460| 69 7a 65 20 73 69 7a 65 | 20 29 0d 0a 7b 0d 0a 09 |ize size| )..{...|
|00003470| 4f 53 45 72 72 20 65 72 | 72 3b 0d 0a 09 50 74 72 |OSErr er|r;...Ptr|
|00003480| 20 73 72 63 73 61 76 65 | 20 3d 20 65 72 72 5f 73 | srcsave| = err_s|
|00003490| 72 63 53 74 61 72 74 3b | 0d 0a 0d 0a 09 65 72 72 |rcStart;|.....err|
|000034a0| 5f 73 72 63 53 74 61 72 | 74 20 3d 20 73 72 63 3b |_srcStar|t = src;|
|000034b0| 09 2f 2f 20 73 65 74 75 | 70 20 73 72 63 20 73 74 |.// setu|p src st|
|000034c0| 61 72 74 2c 20 73 61 76 | 69 6e 67 20 70 72 65 76 |art, sav|ing prev|
|000034d0| 69 6f 75 73 20 28 66 6f | 72 20 69 6e 63 6c 75 64 |ious (fo|r includ|
|000034e0| 65 73 21 29 0d 0a 0d 0a | 09 65 72 72 20 3d 20 6e |es!)....|.err = n|
|000034f0| 6f 45 72 72 3b 0d 0a 09 | 67 4c 69 6e 65 20 3d 20 |oErr;...|gLine = |
|00003500| 31 3b 0d 0a 09 67 49 6e | 4d 61 63 72 6f 20 3d 20 |1;...gIn|Macro = |
|00003510| 66 61 6c 73 65 3b 0d 0a | 09 67 42 75 66 66 65 72 |false;..|.gBuffer|
|00003520| 45 6e 64 20 3d 20 73 72 | 63 20 2b 20 73 69 7a 65 |End = sr|c + size|
|00003530| 3b 0d 0a 0d 0a 09 64 6f | 0d 0a 09 7b 0d 0a 09 09 |;.....do|...{....|
|00003540| 69 66 28 20 21 28 67 4c | 69 6e 65 20 26 20 36 33 |if( !(gL|ine & 63|
|00003550| 29 20 29 09 2f 2f 70 72 | 69 6e 74 20 73 74 61 74 |) ).//pr|int stat|
|00003560| 75 73 20 65 76 65 72 79 | 20 36 34 20 6c 69 6e 65 |us every| 64 line|
|00003570| 73 0d 0a 09 09 09 65 72 | 72 20 3d 20 44 69 73 70 |s.....er|r = Disp|
|00003580| 6c 61 79 4c 69 6e 65 73 | 28 20 67 4c 69 6e 65 20 |layLines|( gLine |
|00003590| 2b 20 67 54 6f 74 61 6c | 4c 69 6e 65 73 20 29 3b |+ gTotal|Lines );|
|000035a0| 0d 0a 0d 0a 09 09 69 66 | 28 20 21 65 72 72 20 29 |......if|( !err )|
|000035b0| 0d 0a 09 09 09 65 72 72 | 20 3d 20 4e 65 78 74 4c |.....err| = NextL|
|000035c0| 69 6e 65 28 20 26 73 72 | 63 20 29 3b 0d 0a 0d 0a |ine( &sr|c );....|
|000035d0| 09 09 69 66 28 20 21 65 | 72 72 20 29 0d 0a 09 09 |..if( !e|rr )....|
|000035e0| 7b 0d 0a 09 09 09 65 72 | 72 5f 6c 69 6e 65 53 74 |{.....er|r_lineSt|
|000035f0| 61 72 74 20 3d 20 73 72 | 63 3b 0d 0a 09 09 09 65 |art = sr|c;.....e|
|00003600| 72 72 20 3d 20 41 73 73 | 65 6d 62 6c 65 4c 69 6e |rr = Ass|embleLin|
|00003610| 65 28 20 26 73 72 63 20 | 29 3b 0d 0a 09 09 7d 0d |e( &src |);....}.|
|00003620| 0a 09 7d 0d 0a 09 77 68 | 69 6c 65 28 20 21 65 72 |..}...wh|ile( !er|
|00003630| 72 20 29 3b 0d 0a 0d 0a | 09 67 54 6f 74 61 6c 4c |r );....|.gTotalL|
|00003640| 69 6e 65 73 20 2b 3d 20 | 67 4c 69 6e 65 3b 0d 0a |ines += |gLine;..|
|00003650| 0d 0a 09 69 66 20 28 20 | 65 72 72 20 3d 3d 20 45 |...if ( |err == E|
|00003660| 52 52 4f 52 5f 45 4f 46 | 20 29 09 2f 2f 20 6e 6f |RROR_EOF| ).// no|
|00003670| 74 20 72 65 61 6c 6c 79 | 20 61 6e 20 65 72 72 6f |t really| an erro|
|00003680| 72 2c 20 6a 75 73 74 20 | 61 20 66 6c 61 67 0d 0a |r, just |a flag..|
|00003690| 09 09 65 72 72 20 3d 20 | 4e 4f 45 52 52 3b 0d 0a |..err = |NOERR;..|
|000036a0| 0d 0a 09 69 66 28 20 21 | 65 72 72 20 29 0d 0a 09 |...if( !|err )...|
|000036b0| 7b 0d 0a 09 09 65 72 72 | 20 3d 20 44 69 73 70 6c |{....err| = Displ|
|000036c0| 61 79 4c 69 6e 65 73 28 | 20 67 54 6f 74 61 6c 4c |ayLines(| gTotalL|
|000036d0| 69 6e 65 73 20 29 3b 0d | 0a 09 09 65 72 72 5f 73 |ines );.|...err_s|
|000036e0| 72 63 53 74 61 72 74 20 | 3d 20 73 72 63 73 61 76 |rcStart |= srcsav|
|000036f0| 65 3b 09 2f 2f 20 6b 65 | 65 70 20 65 72 72 20 69 |e;.// ke|ep err i|
|00003700| 6e 66 6f 20 66 6f 72 20 | 66 61 74 61 6c 20 6d 65 |nfo for |fatal me|
|00003710| 73 73 61 67 65 73 0d 0a | 09 7d 0d 0a 09 72 65 74 |ssages..|.}...ret|
|00003720| 75 72 6e 28 20 65 72 72 | 20 29 3b 0d 0a 7d 0d 0a |urn( err| );..}..|
|00003730| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|00003740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003760| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003770| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 2f 2f 09 49 6e |========|=..//.In|
|00003780| 63 6c 75 64 65 46 69 6c | 65 0d 0a 2f 2f 0d 0a 2f |cludeFil|e..//../|
|00003790| 2f 09 47 72 61 62 20 61 | 6e 20 69 6e 63 6c 75 64 |/.Grab a|n includ|
|000037a0| 65 64 20 66 69 6c 65 2c | 20 63 61 63 68 65 20 69 |ed file,| cache i|
|000037b0| 74 2c 20 61 6e 64 20 61 | 73 73 65 6d 62 6c 65 20 |t, and a|ssemble |
|000037c0| 69 74 0d 0a 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |it..//==|========|
|000037d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000037e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000037f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003800| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0a 0d 0a 4f |========|===....O|
|00003810| 53 45 72 72 20 49 6e 63 | 6c 75 64 65 46 69 6c 65 |SErr Inc|ludeFile|
|00003820| 28 20 63 68 61 72 2a 20 | 70 6e 61 6d 65 2c 20 42 |( char* |pname, B|
|00003830| 6f 6f 6c 65 61 6e 20 66 | 75 6c 6c 53 65 61 72 63 |oolean f|ullSearc|
|00003840| 68 20 29 0d 0a 7b 0d 0a | 09 4f 53 45 72 72 09 65 |h )..{..|.OSErr.e|
|00003850| 72 72 3b 0d 0a 09 48 61 | 6e 64 6c 65 20 68 3b 0d |rr;...Ha|ndle h;.|
|00003860| 0a 09 53 69 7a 65 20 73 | 3b 0d 0a 09 46 53 53 70 |..Size s|;...FSSp|
|00003870| 65 63 20 73 70 65 63 3b | 0d 0a 0d 0a 09 67 70 45 |ec spec;|.....gpE|
|00003880| 72 72 57 6f 72 64 2d 2d | 3b 0d 0a 0d 0a 09 65 72 |rrWord--|;.....er|
|00003890| 72 20 3d 20 46 69 6e 64 | 41 6e 64 4c 6f 61 64 46 |r = Find|AndLoadF|
|000038a0| 69 6c 65 28 20 70 6e 61 | 6d 65 2c 20 66 75 6c 6c |ile( pna|me, full|
|000038b0| 53 65 61 72 63 68 2c 20 | 26 73 70 65 63 2c 20 26 |Search, |&spec, &|
|000038c0| 68 2c 20 26 73 20 29 3b | 0d 0a 09 69 66 28 20 65 |h, &s );|...if( e|
|000038d0| 72 72 20 3d 3d 20 6e 6f | 45 72 72 20 29 0d 0a 09 |rr == no|Err )...|
|000038e0| 09 65 72 72 20 3d 20 41 | 73 73 65 6d 62 6c 65 46 |.err = A|ssembleF|
|000038f0| 69 6c 65 28 20 26 73 70 | 65 63 2c 20 26 68 2c 20 |ile( &sp|ec, &h, |
|00003900| 26 73 20 29 3b 09 2f 2f | 20 61 73 73 65 6d 62 6c |&s );.//| assembl|
|00003910| 65 20 66 69 6c 65 0d 0a | 0d 0a 09 69 66 28 20 65 |e file..|...if( e|
|00003920| 72 72 20 26 26 20 65 72 | 72 20 3c 20 45 52 52 4f |rr && er|r < ERRO|
|00003930| 52 5f 46 41 54 41 4c 20 | 7c 7c 20 65 72 72 20 3e |R_FATAL ||| err >|
|00003940| 3d 20 45 52 52 4f 52 5f | 43 4f 55 4e 54 20 29 09 |= ERROR_|COUNT ).|
|00003950| 2f 2f 74 6f 6f 20 6d 61 | 6e 79 20 76 61 72 69 61 |//too ma|ny varia|
|00003960| 74 69 6f 6e 73 20 74 6f | 20 63 68 65 63 6b 20 66 |tions to| check f|
|00003970| 6f 72 21 0d 0a 09 7b 0d | 0a 09 09 69 66 28 20 67 |or!...{.|...if( g|
|00003980| 46 69 72 73 74 50 61 73 | 73 20 29 0d 0a 09 09 09 |FirstPas|s ).....|
|00003990| 65 72 72 20 3d 20 45 72 | 72 6f 72 4d 65 73 73 61 |err = Er|rorMessa|
|000039a0| 67 65 28 20 45 52 52 4f | 52 5f 46 49 4c 45 4e 4f |ge( ERRO|R_FILENO|
|000039b0| 54 46 4f 55 4e 44 2c 20 | 65 72 72 2c 20 67 4c 69 |TFOUND, |err, gLi|
|000039c0| 6e 65 2c 20 6b 45 72 72 | 6f 72 20 29 3b 0d 0a 09 |ne, kErr|or );...|
|000039d0| 09 65 6c 73 65 0d 0a 09 | 09 09 65 72 72 20 3d 20 |.else...|..err = |
|000039e0| 6e 6f 45 72 72 3b 0d 0a | 09 7d 0d 0a 0d 0a 09 72 |noErr;..|.}.....r|
|000039f0| 65 74 75 72 6e 28 20 65 | 72 72 20 29 3b 0d 0a 7d |eturn( e|rr );..}|
|00003a00| 0d 0a 0d 0a 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |....//==|========|
|00003a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 0a 2f 2f 09 |========|===..//.|
|00003a50| 41 73 73 65 6d 62 6c 65 | 0d 0a 2f 2f 0d 0a 2f 2f |Assemble|..//..//|
|00003a60| 09 4c 6f 61 64 73 20 70 | 72 65 66 73 2c 20 64 65 |.Loads p|refs, de|
|00003a70| 74 65 72 6d 69 6e 65 73 | 20 6f 75 74 70 75 74 20 |termines| output |
|00003a80| 66 69 6c 65 2c 20 61 73 | 73 65 6d 62 6c 65 73 20 |file, as|sembles |
|00003a90| 66 69 6c 65 28 73 29 20 | 26 20 73 61 76 65 73 20 |file(s) |& saves |
|00003aa0| 6f 75 74 70 75 74 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |output..|//======|
|00003ab0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ad0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003ae0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00003af0| 0a 0d 0a 4f 53 45 72 72 | 20 41 73 73 65 6d 62 6c |...OSErr| Assembl|
|00003b00| 65 28 20 46 53 53 70 65 | 63 20 2a 69 6e 53 70 65 |e( FSSpe|c *inSpe|
|00003b10| 63 2c 20 48 61 6e 64 6c | 65 20 68 61 6e 64 2c 20 |c, Handl|e hand, |
|00003b20| 53 69 7a 65 20 73 69 7a | 65 2c 20 46 53 53 70 65 |Size siz|e, FSSpe|
|00003b30| 63 20 2a 6f 75 74 53 70 | 65 63 20 29 0d 0a 7b 0d |c *outSp|ec )..{.|
|00003b40| 0a 09 4f 53 45 72 72 09 | 09 65 72 72 3b 0d 0a 09 |..OSErr.|.err;...|
|00003b50| 63 68 61 72 20 2a 73 3b | 0d 0a 0d 0a 09 2f 2f 20 |char *s;|.....// |
|00003b60| 4e 4f 54 45 3a 20 65 72 | 72 6f 72 27 73 20 72 65 |NOTE: er|ror's re|
|00003b70| 74 75 72 6e 65 64 20 74 | 6f 20 74 68 69 73 20 6c |turned t|o this l|
|00003b80| 65 76 65 6c 20 61 72 65 | 20 5f 66 61 74 61 6c 5f |evel are| _fatal_|
|00003b90| 20 65 72 72 6f 72 73 20 | 61 62 6f 72 74 69 6e 67 | errors |aborting|
|00003ba0| 20 61 73 73 65 6d 62 6c | 79 21 0d 0a 0d 0a 09 65 | assembl|y!.....e|
|00003bb0| 72 72 20 3d 20 49 6e 69 | 74 41 73 73 65 6d 62 6c |rr = Ini|tAssembl|
|00003bc0| 65 72 28 20 69 6e 53 70 | 65 63 20 29 3b 09 2f 2f |er( inSp|ec );.//|
|00003bd0| 20 61 6c 6c 6f 63 61 74 | 65 20 68 61 73 68 20 74 | allocat|e hash t|
|00003be0| 61 62 6c 65 73 2c 20 65 | 74 63 2e 0d 0a 0d 0a 09 |ables, e|tc......|
|00003bf0| 69 66 28 20 21 65 72 72 | 20 29 0d 0a 09 7b 0d 0a |if( !err| )...{..|
|00003c00| 09 09 2f 2f 20 50 61 73 | 73 20 31 20 2d 20 63 72 |..// Pas|s 1 - cr|
|00003c10| 65 61 74 65 20 6c 61 62 | 65 6c 73 2c 20 6d 61 63 |eate lab|els, mac|
|00003c20| 72 6f 73 2c 20 65 74 63 | 2e 0d 0a 0d 0a 09 09 67 |ros, etc|.......g|
|00003c30| 46 69 72 73 74 50 61 73 | 73 20 3d 20 74 72 75 65 |FirstPas|s = true|
|00003c40| 3b 0d 0a 0d 0a 09 09 65 | 72 72 20 3d 20 41 73 73 |;......e|rr = Ass|
|00003c50| 65 6d 62 6c 65 46 69 6c | 65 28 20 69 6e 53 70 65 |embleFil|e( inSpe|
|00003c60| 63 2c 20 26 68 61 6e 64 | 2c 20 26 73 69 7a 65 20 |c, &hand|, &size |
|00003c70| 29 3b 0d 0a 0d 0a 09 09 | 2f 2f 20 50 61 73 73 20 |);......|// Pass |
|00003c80| 32 20 2d 20 63 72 65 61 | 74 65 20 6f 75 74 70 75 |2 - crea|te outpu|
|00003c90| 74 20 64 61 74 61 0d 0a | 0d 0a 09 09 69 66 28 20 |t data..|....if( |
|00003ca0| 21 65 72 72 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |!err )..|..{.....|
|00003cb0| 67 46 69 72 73 74 50 61 | 73 73 20 3d 20 66 61 6c |gFirstPa|ss = fal|
|00003cc0| 73 65 3b 0d 0a 09 09 09 | 67 50 43 20 3d 20 67 54 |se;.....|gPC = gT|
|00003cd0| 6f 74 61 6c 4c 69 6e 65 | 73 20 3d 20 67 47 72 6f |otalLine|s = gGro|
|00003ce0| 75 70 20 3d 20 67 4c 61 | 62 65 6c 5b 30 5d 20 3d |up = gLa|bel[0] =|
|00003cf0| 20 30 3b 09 09 2f 2f 20 | 72 65 73 65 74 20 70 61 | 0;..// |reset pa|
|00003d00| 73 73 20 73 70 65 63 69 | 66 69 63 20 76 61 72 73 |ss speci|fic vars|
|00003d10| 21 0d 0a 0d 0a 09 09 09 | 44 69 73 70 6c 61 79 53 |!.......|DisplayS|
|00003d20| 65 63 6f 6e 64 50 61 73 | 73 28 29 3b 0d 0a 09 09 |econdPas|s();....|
|00003d30| 09 65 72 72 20 3d 20 41 | 73 73 65 6d 62 6c 65 46 |.err = A|ssembleF|
|00003d40| 69 6c 65 28 20 69 6e 53 | 70 65 63 2c 20 26 68 61 |ile( inS|pec, &ha|
|00003d50| 6e 64 2c 20 26 73 69 7a | 65 20 29 3b 0d 0a 09 09 |nd, &siz|e );....|
|00003d60| 7d 0d 0a 0d 0a 09 09 2f | 2f 20 4e 6f 77 20 74 6f |}....../|/ Now to|
|00003d70| 20 73 61 76 65 20 74 68 | 65 20 6f 75 74 70 75 74 | save th|e output|
|00003d80| 20 64 61 74 61 0d 0a 0d | 0a 09 09 69 66 28 20 21 | data...|...if( !|
|00003d90| 65 72 72 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 53 |err )...|.{.....S|
|00003da0| 65 74 48 61 6e 64 6c 65 | 53 69 7a 65 28 20 67 4f |etHandle|Size( gO|
|00003db0| 75 74 48 61 6e 64 6c 65 | 2c 20 67 4f 75 74 49 6e |utHandle|, gOutIn|
|00003dc0| 64 65 78 20 29 3b 09 2f | 2f 20 61 64 6a 75 73 74 |dex );./|/ adjust|
|00003dd0| 20 73 69 7a 65 20 74 6f | 20 6d 61 74 63 68 20 61 | size to| match a|
|00003de0| 63 74 75 61 6c 20 23 20 | 6f 66 20 62 79 74 65 73 |ctual # |of bytes|
|00003df0| 20 6f 75 74 70 75 74 0d | 0a 09 09 09 69 66 28 20 | output.|....if( |
|00003e00| 4d 65 6d 45 72 72 6f 72 | 28 29 20 29 0d 0a 09 09 |MemError|() )....|
|00003e10| 09 09 65 72 72 20 3d 20 | 45 52 52 4f 52 5f 4d 45 |..err = |ERROR_ME|
|00003e20| 4d 4f 52 59 3b 0d 0a 0d | 0a 09 09 09 69 66 28 20 |MORY;...|....if( |
|00003e30| 21 65 72 72 20 26 26 20 | 21 67 4f 75 74 66 69 6c |!err && |!gOutfil|
|00003e40| 65 5b 30 5d 20 29 20 09 | 2f 2f 20 49 6e 73 75 72 |e[0] ) .|// Insur|
|00003e50| 65 20 64 65 73 74 69 6e | 61 74 69 6f 6e 20 66 69 |e destin|ation fi|
|00003e60| 6c 65 6e 61 6d 65 20 69 | 73 20 73 65 74 75 70 0d |lename i|s setup.|
|00003e70| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 53 74 72 69 6e |....{...|...Strin|
|00003e80| 67 32 54 65 78 74 28 20 | 28 53 74 72 69 6e 67 50 |g2Text( |(StringP|
|00003e90| 74 72 29 69 6e 53 70 65 | 63 2d 3e 6e 61 6d 65 2c |tr)inSpe|c->name,|
|00003ea0| 20 67 4f 75 74 66 69 6c | 65 20 29 3b 0d 0a 0d 0a | gOutfil|e );....|
|00003eb0| 09 09 09 09 73 20 3d 20 | 46 69 6e 64 45 78 74 65 |....s = |FindExte|
|00003ec0| 6e 73 69 6f 6e 28 20 67 | 4f 75 74 66 69 6c 65 20 |nsion( g|Outfile |
|00003ed0| 29 3b 09 2f 2f 20 46 69 | 6e 64 20 65 78 74 65 6e |);.// Fi|nd exten|
|00003ee0| 73 69 6f 6e 20 28 6c 61 | 73 74 20 27 2e 27 20 69 |sion (la|st '.' i|
|00003ef0| 6e 20 66 69 6c 65 6e 61 | 6d 65 29 0d 0a 0d 0a 09 |n filena|me).....|
|00003f00| 09 09 09 69 66 28 20 21 | 73 20 29 0d 0a 09 09 09 |...if( !|s ).....|
|00003f10| 09 09 73 20 3d 20 67 4f | 75 74 66 69 6c 65 20 2b |..s = gO|utfile +|
|00003f20| 20 73 74 72 6c 65 6e 28 | 20 67 4f 75 74 66 69 6c | strlen(| gOutfil|
|00003f30| 65 20 29 3b 09 2f 2f 20 | 69 66 20 6e 6f 20 65 78 |e );.// |if no ex|
|00003f40| 74 65 6e 73 69 6f 6e 2c | 20 70 6c 61 63 65 20 61 |tension,| place a|
|00003f50| 74 20 65 6e 64 20 6f 66 | 20 66 69 6c 65 6e 61 6d |t end of| filenam|
|00003f60| 65 0d 0a 0d 0a 09 09 09 | 09 73 74 72 63 70 79 28 |e.......|.strcpy(|
|00003f70| 20 73 2c 20 67 50 72 65 | 66 73 2e 65 78 74 65 6e | s, gPre|fs.exten|
|00003f80| 73 69 6f 6e 20 29 3b 09 | 2f 2f 20 73 65 74 20 65 |sion );.|// set e|
|00003f90| 78 74 65 6e 73 69 6f 6e | 2c 20 74 68 65 6e 20 63 |xtension|, then c|
|00003fa0| 72 65 61 74 65 20 46 53 | 53 70 65 63 0d 0a 09 09 |reate FS|Spec....|
|00003fb0| 09 7d 0d 0a 09 09 09 2a | 6f 75 74 53 70 65 63 20 |.}.....*|outSpec |
|00003fc0| 3d 20 2a 67 4f 72 69 67 | 53 70 65 63 3b 0d 0a 09 |= *gOrig|Spec;...|
|00003fd0| 09 09 54 65 78 74 32 53 | 74 72 69 6e 67 28 20 67 |..Text2S|tring( g|
|00003fe0| 4f 75 74 66 69 6c 65 2c | 20 6f 75 74 53 70 65 63 |Outfile,| outSpec|
|00003ff0| 2d 3e 6e 61 6d 65 20 29 | 3b 09 2f 2f 20 73 61 76 |->name )|;.// sav|
|00004000| 65 20 74 6f 20 73 6f 75 | 72 63 65 20 6c 6f 63 61 |e to sou|rce loca|
|00004010| 74 69 6f 6e 21 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |tion!...|.}...}..|
|00004020| 09 72 65 74 75 72 6e 28 | 20 65 72 72 20 29 3b 0d |.return(| err );.|
|00004030| 0a 7d 0d 0a 0d 0a 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |.}....//|========|
|00004040| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004060| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 2f |========|=====../|
|00004080| 2f 09 49 6e 69 74 41 73 | 73 65 6d 62 6c 65 72 0d |/.InitAs|sembler.|
|00004090| 0a 2f 2f 0d 0a 2f 2f 09 | 49 6e 69 74 20 76 61 72 |.//..//.|Init var|
|000040a0| 73 2c 20 61 6c 6c 6f 63 | 61 74 65 20 68 61 73 68 |s, alloc|ate hash|
|000040b0| 20 74 61 62 6c 65 73 2c | 20 6f 74 68 65 72 20 73 | tables,| other s|
|000040c0| 69 6e 67 6c 65 20 74 69 | 6d 65 20 69 6e 69 74 73 |ingle ti|me inits|
|000040d0| 0d 0a 2f 2f 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..//====|========|
|000040e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000040f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004100| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004110| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0a 0d 0a 4f 53 45 |========|=....OSE|
|00004120| 72 72 20 49 6e 69 74 41 | 73 73 65 6d 62 6c 65 72 |rr InitA|ssembler|
|00004130| 28 20 63 6f 6e 73 74 20 | 46 53 53 70 65 63 20 2a |( const |FSSpec *|
|00004140| 73 70 65 63 20 29 0d 0a | 7b 0d 0a 09 67 50 43 20 |spec )..|{...gPC |
|00004150| 3d 20 67 54 6f 74 61 6c | 4c 69 6e 65 73 20 3d 20 |= gTotal|Lines = |
|00004160| 67 54 6f 74 61 6c 45 72 | 72 73 20 3d 20 67 54 6f |gTotalEr|rs = gTo|
|00004170| 74 61 6c 57 61 72 6e 73 | 20 3d 20 67 47 72 6f 75 |talWarns| = gGrou|
|00004180| 70 20 3d 20 67 4f 75 74 | 66 69 6c 65 5b 30 5d 20 |p = gOut|file[0] |
|00004190| 3d 20 67 4c 61 62 65 6c | 5b 30 5d 20 3d 20 30 3b |= gLabel|[0] = 0;|
|000041a0| 0d 0a 0d 0a 09 6f 75 74 | 42 75 66 53 69 7a 65 20 |.....out|BufSize |
|000041b0| 3d 20 4f 55 54 42 55 46 | 49 4e 49 54 3b 0d 0a 09 |= OUTBUF|INIT;...|
|000041c0| 67 4f 75 74 49 6e 64 65 | 78 20 3d 20 30 3b 0d 0a |gOutInde|x = 0;..|
|000041d0| 09 67 4f 72 69 67 53 70 | 65 63 20 3d 20 28 46 53 |.gOrigSp|ec = (FS|
|000041e0| 53 70 65 63 20 2a 29 73 | 70 65 63 3b 0d 0a 0d 0a |Spec *)s|pec;....|
|000041f0| 09 2f 2f 20 41 6c 6c 6f | 63 61 74 65 20 69 6e 69 |.// Allo|cate ini|
|00004200| 74 69 61 6c 20 73 70 61 | 63 65 20 66 6f 72 20 6f |tial spa|ce for o|
|00004210| 75 74 70 75 74 20 64 61 | 74 61 0d 0a 0d 0a 09 67 |utput da|ta.....g|
|00004220| 4f 75 74 48 61 6e 64 6c | 65 20 3d 20 4e 65 77 48 |OutHandl|e = NewH|
|00004230| 61 6e 64 6c 65 28 20 4f | 55 54 42 55 46 49 4e 49 |andle( O|UTBUFINI|
|00004240| 54 20 29 3b 0d 0a 09 69 | 66 28 20 21 67 4f 75 74 |T );...i|f( !gOut|
|00004250| 48 61 6e 64 6c 65 20 29 | 0d 0a 09 09 72 65 74 75 |Handle )|....retu|
|00004260| 72 6e 28 20 45 52 52 4f | 52 5f 4d 45 4d 4f 52 59 |rn( ERRO|R_MEMORY|
|00004270| 20 29 3b 0d 0a 0d 0a 09 | 2f 2f 20 49 6e 69 74 69 | );.....|// Initi|
|00004280| 61 6c 69 7a 65 20 74 68 | 65 20 68 61 73 68 20 74 |alize th|e hash t|
|00004290| 61 62 6c 65 73 0d 0a 0d | 0a 09 67 53 79 6d 54 62 |ables...|..gSymTb|
|000042a0| 6c 48 64 6c 20 3d 20 68 | 61 73 68 5f 4e 65 77 28 |lHdl = h|ash_New(|
|000042b0| 20 53 59 4d 42 4f 4c 49 | 4e 49 54 20 29 3b 0d 0a | SYMBOLI|NIT );..|
|000042c0| 09 69 66 28 20 21 67 53 | 79 6d 54 62 6c 48 64 6c |.if( !gS|ymTblHdl|
|000042d0| 20 29 0d 0a 09 09 72 65 | 74 75 72 6e 28 20 45 52 | )....re|turn( ER|
|000042e0| 52 4f 52 5f 4d 45 4d 4f | 52 59 20 29 3b 0d 0a 0d |ROR_MEMO|RY );...|
|000042f0| 0a 09 67 4d 61 63 72 6f | 54 62 6c 48 64 6c 20 3d |..gMacro|TblHdl =|
|00004300| 20 68 61 73 68 5f 4e 65 | 77 28 20 4d 41 43 52 4f | hash_Ne|w( MACRO|
|00004310| 49 4e 49 54 20 29 3b 0d | 0a 09 69 66 28 20 21 67 |INIT );.|..if( !g|
|00004320| 4d 61 63 72 6f 54 62 6c | 48 64 6c 20 29 0d 0a 09 |MacroTbl|Hdl )...|
|00004330| 09 72 65 74 75 72 6e 28 | 20 45 52 52 4f 52 5f 4d |.return(| ERROR_M|
|00004340| 45 4d 4f 52 59 20 29 3b | 0d 0a 0d 0a 09 67 45 72 |EMORY );|.....gEr|
|00004350| 72 6f 72 54 62 6c 48 64 | 6c 20 3d 20 68 61 73 68 |rorTblHd|l = hash|
|00004360| 5f 4e 65 77 28 20 45 52 | 52 4f 52 49 4e 49 54 20 |_New( ER|RORINIT |
|00004370| 29 3b 0d 0a 09 69 66 28 | 20 21 67 45 72 72 6f 72 |);...if(| !gError|
|00004380| 54 62 6c 48 64 6c 20 29 | 0d 0a 09 09 72 65 74 75 |TblHdl )|....retu|
|00004390| 72 6e 28 20 45 52 52 4f | 52 5f 4d 45 4d 4f 52 59 |rn( ERRO|R_MEMORY|
|000043a0| 20 29 3b 0d 0a 0d 0a 09 | 72 65 74 75 72 6e 28 20 | );.....|return( |
|000043b0| 49 6e 69 74 50 73 65 75 | 64 6f 73 28 20 4d 41 43 |InitPseu|dos( MAC|
|000043c0| 52 4f 4c 49 4e 45 53 49 | 5a 45 20 29 20 29 3b 0d |ROLINESI|ZE ) );.|
|000043d0| 0a 7d 0d 0a 0d 0a 2f 2f | 3d 3d 3d 3d 3d 3d 3d 3d |.}....//|========|
|000043e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000043f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004400| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0a 2f |========|=====../|
|00004420| 2f 09 54 65 72 6d 41 73 | 73 65 6d 62 6c 65 72 0d |/.TermAs|sembler.|
|00004430| 0a 2f 2f 0d 0a 2f 2f 09 | 46 72 65 65 20 61 6e 79 |.//..//.|Free any|
|00004440| 20 6d 65 6d 6f 72 79 20 | 77 65 27 76 65 20 61 6c | memory |we've al|
|00004450| 6c 6f 63 61 74 65 64 20 | 66 6f 72 20 61 73 73 65 |located |for asse|
|00004460| 6d 62 6c 69 6e 67 0d 0a | 2f 2f 3d 3d 3d 3d 3d 3d |mbling..|//======|
|00004470| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004480| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004490| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000044a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|000044b0| 0a 0d 0a 4f 53 45 72 72 | 20 54 65 72 6d 41 73 73 |...OSErr| TermAss|
|000044c0| 65 6d 62 6c 65 72 28 20 | 76 6f 69 64 20 29 0d 0a |embler( |void )..|
|000044d0| 7b 0d 0a 09 69 66 28 20 | 67 4f 75 74 48 61 6e 64 |{...if( |gOutHand|
|000044e0| 6c 65 20 29 0d 0a 09 20 | 09 44 69 73 70 6f 73 65 |le )... |.Dispose|
|000044f0| 48 61 6e 64 6c 65 28 20 | 67 4f 75 74 48 61 6e 64 |Handle( |gOutHand|
|00004500| 6c 65 20 29 3b 0d 0a 0d | 0a 09 69 66 28 20 67 4d |le );...|..if( gM|
|00004510| 61 63 72 6f 54 62 6c 48 | 64 6c 20 29 0d 0a 09 09 |acroTblH|dl )....|
|00004520| 68 61 73 68 5f 44 69 73 | 70 6f 73 65 48 61 6e 64 |hash_Dis|poseHand|
|00004530| 6c 65 73 28 20 67 4d 61 | 63 72 6f 54 62 6c 48 64 |les( gMa|croTblHd|
|00004540| 6c 20 29 3b 09 2f 2f 20 | 67 65 74 20 72 69 64 20 |l );.// |get rid |
|00004550| 6f 66 20 61 6e 79 20 61 | 6c 6c 6f 63 61 74 65 64 |of any a|llocated|
|00004560| 20 6d 61 63 72 6f 73 0d | 0a 0d 0a 09 68 61 73 68 | macros.|....hash|
|00004570| 5f 44 69 73 70 6f 73 65 | 28 20 67 53 79 6d 54 62 |_Dispose|( gSymTb|
|00004580| 6c 48 64 6c 20 29 3b 0d | 0a 09 68 61 73 68 5f 44 |lHdl );.|..hash_D|
|00004590| 69 73 70 6f 73 65 28 20 | 67 4d 61 63 72 6f 54 62 |ispose( |gMacroTb|
|000045a0| 6c 48 64 6c 20 29 3b 0d | 0a 09 68 61 73 68 5f 44 |lHdl );.|..hash_D|
|000045b0| 69 73 70 6f 73 65 28 20 | 67 45 72 72 6f 72 54 62 |ispose( |gErrorTb|
|000045c0| 6c 48 64 6c 20 29 3b 0d | 0a 0d 0a 09 72 65 74 75 |lHdl );.|....retu|
|000045d0| 72 6e 28 20 54 65 72 6d | 50 73 65 75 64 6f 73 28 |rn( Term|Pseudos(|
|000045e0| 29 20 29 3b 0d 0a 7d 0d | 0a 00 00 00 00 00 00 00 |) );..}.|........|
|000045f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004600| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00004610| 00 6c df 3c 00 03 07 92 | 60 30 d8 38 00 6c df 54 |.l.<....|`0.8.l.T|
|00004620| 00 02 07 99 60 30 d8 7c | 00 6c df c0 00 01 07 a1 |....`0.||.l......|
|00004630| 0a 41 53 53 45 4d 42 4c | 45 2e 43 4d 02 00 00 00 |.ASSEMBL|E.CM....|
|00004640| 54 45 58 54 64 6f 73 61 | 01 00 00 00 00 00 00 00 |TEXTdosa|........|
|00004650| 00 00 54 45 58 54 64 6f | 73 61 01 00 00 00 00 00 |..TEXTdo|sa......|
|00004660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004670| 00 00 00 00 00 00 00 00 | 45 69 00 00 01 9a e0 14 |........|Ei......|
|00004680| 00 1c 07 db 61 30 e0 e7 | 00 6c e0 10 00 1a 07 e8 |....a0..|.l......|
|00004690| 61 30 e3 91 00 6c e0 0c | 00 13 07 ee 61 30 e5 e2 |a0...l..|....a0..|
|000046a0| 00 6c e0 08 00 12 07 fb | 61 30 e8 a9 00 6c e0 04 |.l......|a0...l..|
|000046b0| 00 11 08 08 61 30 eb 70 | 00 6c e0 00 00 0f 08 10 |....a0.p|.l......|
|000046c0| 61 30 ed b9 00 6c df fc | 00 0c 08 1b 61 30 f0 0e |a0...l..|....a0..|
|000046d0| 00 6c df f8 00 0b 08 25 | 61 30 f2 53 00 6c df f4 |.l.....%|a0.S.l..|
|000046e0| 00 09 08 35 61 30 f4 c6 | 00 6c df f0 00 08 08 3c |...5a0..|.l.....<|
|000046f0| 61 30 f7 10 00 6c df ec | 00 07 08 44 61 30 f9 64 |a0...l..|...Da0.d|
|00004700| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00004710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004720| 00 00 00 00 00 00 00 02 | 00 02 00 2c 00 08 02 58 |........|...,...X|
|00004730| 02 5e 00 2c 00 08 02 58 | 02 5e af 78 72 e5 00 00 |.^.,...X|.^.xr...|
|00004740| 06 1e 00 00 06 1e 00 00 | 00 00 01 00 00 00 00 04 |........|........|
|00004750| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00004760| 00 00 00 46 09 a5 80 74 | 29 de 00 00 00 1c 00 46 |...F...t|)......F|
|00004770| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00004780| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00004790| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000047a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000047f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+